0

ユーザーがドロップダウンから何かを選択したときに、次のjqueryが機能しない理由はありますか?(自動更新を想定しています)

<script>
$(document).ready(function() {
                $("#state").change(function () {
                this.form.submit();
})
});
</script>


  <form action="avsafety.asp" method="get">



     <p>State:<br/>
      <select id="state" name="state">
        <option label="ACT" value="ACT" <%if request.querystring("state") = "ACT" then response.write("selected") %>>ACT</option>
        <option label="NSW" value="NSW" <%if request.querystring("state") = "NSW" then response.write("selected") %>>NSW</option>
        <option label="QLD" value="QLD" <%if request.querystring("state") = "QLD" then response.write("selected") %>>QLD</option>
        <option label="VIC" value="VIC" <%if request.querystring("state") = "VIC" then response.write("selected") %>>VIC</option>
        <option label="SA" value="SA"   <%if request.querystring("state") = "SA" then response.write("selected") %>>SA</option>
        <option label="TAS" value="TAS" <%if request.querystring("state") = "TAS" then response.write("selected") %>>TAS</option>
        <option label="WA" value="WA"   <%if request.querystring("state") = "WA" then response.write("selected") %>>WA</option>
      </select>
      <input type="submit" value="Search" />
    </p>

  </form>
4

3 に答える 3

2

オプションが動的に変更された場合

試してみてください

     $(document).ready(function() {

              $(document).on("change","select#state",function(e){
                             $("form").submit();
                               });

     });
于 2013-01-22T22:43:46.323 に答える
0

this使用している関数のコンテキストでは、を指していselect#stateます。つまり、select内にフォームがないため、フォームを送信できません。代わりに、コードを次のように変更します。

$("#state").change(function () {
         $("form").submit();
})
于 2013-01-22T22:45:51.520 に答える
0

$("#state").find("option:selected").change(function(){});

于 2013-01-22T22:46:29.823 に答える