我正在尝试触发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,但我认为事先也会发生火灾。
答案 0 :(得分:4)
我认为.change()就是你想要的,但你却在滥用它。更改事件在值更改后触发。在处理程序中,您需要读取新值:
$('#theList').change( function() {
var value = $('#theList').val();
$.getJSON('Home/MethodName', { your_key: value }, function(data) {
// ...
}
)});
您还可以在<option>
代码上设置值:
<option value="something"> Option 2</option>
答案 1 :(得分:0)
获取当前选择值时,您必须做错事。以下适用于我。
<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());
});
答案 2 :(得分:0)
警告,.change
现已失效,您应该使用...
.on('change', function()
就像那样。