2012-04-04 5 views
0

iこのスクリプトを作成しましたが、なぜ2番目の選択ボックスが表示されないのか分かりません...セレクトボックスASP + JQUERY

多分私のASPは間違っていますか?

外観:

HEREが、これはスクリプトであるデモページ

です:

<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%> 

答えて

1

bodyタグが終了する前に、jQueryセレクタをdocument.readyの内側に配置するか、最後に下に移動する必要があります。まだレンダリングされていない要素を選択しています。

ので、同じように:

$(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)も、第2にロードできるようにJSONまたはXMLオブジェクトを返す必要がありますアイテムを選択。現在はありません。

この行も、AJAXリクエストを実行しているため動作しません。

If not trim(Request("estado")) = "" then 

第二select要素はので、私はAJAX呼び出しに2番目のクエリを移動し、第二の選択を埋めるだろうと思います第一select要素のオプションの選択に依存します。

0

それはIf not trim(Request("estado")) = "" then条件に合格していないため、第2の選択は、偶数ページにレンダリングされていません。 Firebugのから

+0

私は何をする必要がありますか? – Preston

+0

これを除外してselectから 'display:none'を選択しましたが、今度は2番目の選択が表示されます。 。 – Preston

0

また
"NetworkError: 404 Not Found - http://fakedc.com/sites/luilui/jquery-1.7.1.min.js" 

$ is not defined 

あなたはjQueryのには、ソース・パスをチェックすることもできます。

+0

申し訳ありません..私は今JSファイルを入れました..でも何も起こりません – Preston

関連する問題