首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >填充选择框ASP+JQUERY

填充选择框ASP+JQUERY
EN

Stack Overflow用户
提问于 2012-04-04 08:48:18
回答 3查看 946关注 0票数 0

我已经创建了这个脚本,但我不知道为什么第二个选择框不显示...

也许我的ASP是错的??

看:

HERE是演示页面

脚本是这样的:

代码语言:javascript
运行
复制
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>

<%
    strConnection ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("database/banco.mdb") &";"
    set objConn = Server.CreateObject("ADODB.Connection")
    objConn.open strConnection

    set rs_lojas = Server.Createobject("ADODB.RecordSet")
    rs_lojas.Open "select * FROM ondeencontrar WHERE estado = '"& request("estado")&"'", objConn

    If estado = "" Then
        estado = trim(Request("estado"))
        session("estado") = true
    End if

    If cidade = "" Then
        modelo = trim(Request("cidade"))
        session("cidade") = true
    End if
%>

<%  set rs_estado = Server.Createobject("ADODB.RecordSet")
    rs_estado.Open "SELECT distinct estado FROM ondeencontrar", objConn
%>

<script>
$("#first-choice").change(function() {
    $("#second-choice").load("estados.asp?estado=" + $("#first-choice").val());
    $("#second-choice").show("slow");   
});
$("#second-choice").change(function() {
    alter("TESTE");
});
</script>


<select id="first-choice">
    <option selected value="">Escolha um Estado</option>
    <%do while not rs_estado.eof%>
    <option value="<%=rs_estado("estado")%>"><%=rs_estado("estado")%></option>
    <%  rs_estado.MoveNext
    if rs_estado.EOF then Exit do %>
    <% Loop %>
</select>

<br /> <br />
<% 
If not trim(Request("estado")) = "" then
set rs_cidade = Server.Createobject("ADODB.RecordSet")
rs_cidade.Open "SELECT distinct cidade, estado  FROM ondeencontrar where estado = '"&estado&"'", objConn
%>
<select id="second-choice" style="display: none;">
    <option selected="<%=cidade%>"><%=cidade%></option>
    <% do while not rs_cidade.eof %>
    <option value="ondeencontrar.asp?estado=<%=request("estado")%>&cidade=<%=rs_cidade("cidade")%>"><%=rs_cidade("cidade")%></option>
<%
        rs_cidade.MoveNext
        if rs_cidade.EOF then Exit do
    %>
    <% Loop %>  
</select>
<%End If%>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-04 09:21:23

在jQuery标记结束之前,您的主体选择器需要位于document.ready内部,或者被移到最下面。您正在选择尚未呈现的元素。

如下所示:

代码语言:javascript
运行
复制
$(function(){
    $("#first-choice").change(function() {
        $("#second-choice").load("estados.asp?estado=" + $("#first-choice").val());
        $("#second-choice").show("slow");   
    });
    $("#second-choice").change(function() {
        alter("TESTE");
    });
});

这个URL (http://fakedc.com/sites/luilui/teste.asp)还需要返回一个JSON或XML对象,以便可以将其加载到第二个选择项中。它目前还不支持。

这一行也不起作用,因为您正在执行一个AJAX请求。

代码语言:javascript
运行
复制
If not trim(Request("estado")) = "" then

第二个select元素依赖于第一个select元素的选项选择,所以我将把第二个查询移到一个AJAX调用中,并填充第二个select。

票数 1
EN

Stack Overflow用户

发布于 2012-04-04 08:50:45

第二个select甚至不会在页面中呈现,因为它没有传递If not trim(Request("estado")) = "" then条件。

票数 0
EN

Stack Overflow用户

发布于 2012-04-04 08:55:13

来自Firebug:

代码语言:javascript
运行
复制
"NetworkError: 404 Not Found - http://fakedc.com/sites/luilui/jquery-1.7.1.min.js"

另外:

代码语言:javascript
运行
复制
$ is not defined

您可能需要检查jQuery include的源路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10003495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档