3

ajaxイベントを発生させようとしており、選択リストオプションの値をajax呼び出しの引数として渡します。残念ながら、私は.changeイベントで呼び出しを開始し、新しいオプションが選択される前にselectオプションの値を渡します(つまり、以前に選択されたオプションの値を渡します)。選択したオプションの現在の値を取得するイベントはありますか?よろしくお願いします。

<select id='theList'>
   <option> Option 1</option>
   <option> Option 2</option>
</select>

JSでは:

$('#theList').change( function() {
$.getJSON('Home/MethodName', { var1: Option1Value, var2: MiscValue}, function(data) {
      //Execute instructions here
}
)});

.triggerを使いたかったのですが、それも事前に発火すると思います。

4

3 に答える 3

4

.change()はあなたが望むものだと思いますが、あなたはそれを誤用しています。値が変更された後、changeイベントが発生します。ハンドラーで、新しい値を読み取る必要があります。

$('#theList').change( function() {
  var value = $('#theList').val();
  $.getJSON('Home/MethodName', { your_key: value }, function(data) {
      // ...
  }
)});

<option>タグに値を設定することもできます。

<option value="something"> Option 2</option>
于 2013-02-13T19:40:24.770 に答える
0

現在の選択値を取得するときに、何か間違ったことをしている必要があります。以下は私にとって正しく機能します。

http://jsfiddle.net/TJ2eS/

<select id="demo">
    <option value=""></option>
    <option value="a">A</option>
    <option value="b">B</option>
    <option value="c">C</option>
</select>

$("#demo").change(function() {
    alert("current select value " + $(this).val());
});
于 2013-02-13T19:43:39.343 に答える
0

警告の言葉は、.change現在は機能していません。使用する必要があります...

.on('change', function()

そのように。

于 2021-07-06T22:12:36.967 に答える