jQuery的select更改事件获取选定的选项
我用这个绑定了一个select元素的change事件:
$('select').on('change', '', function (e) { });
如何访问发生更改事件时select的元素?
$('select').on('change', function (e) { var optionSelected = $("option:selected", this); var valueSelected = this.value; .... });
您可以使用jQuery查找方法
$('select').change(function () { var optionSelected = $(this).find("option:selected"); var valueSelected = optionSelected.val(); var textSelected = optionSelected.text(); });
上述解决scheme完美的作品,但我select添加以下代码,他们愿意得到点击选项。 即使此select值没有改变,它也允许您获取选定的选项。 (仅限于Mozillatesting)
$('select').find('option').click(function () { var optionSelected = $(this); var valueSelected = optionSelected.val(); var textSelected = optionSelected.text(); });
委托替代scheme
如果有人使用委托方法作为监听者,请使用e.target
(它将引用select元素)。
$('#myform').on('change', 'select', function (e) { var val = $(e.target).val(); var text = $(e.target).find("option:selected").text(); //only time the find is required var name = $(e.target).attr('name'); }
JSFiddle演示
我觉得这个更短,更干净。 此外,如果存在多个项目,则可以遍历所选项目;
$('select').on('change', function () { var selectedValue = this.selectedOptions[0].value; var selectedText = this.selectedOptions[0].text; });
<select id="selectId"> <option value="A">A</option> <option value="B">B</option> <option value="C">C</option> </select> $('#selectId').on('change', function () { var selectVal = $("#selectId option:selected").val(); });
首先创build一个select option
。 之后使用jquery
你可以得到当前select的值,当用户更改select option
值。
另一个简短的方法来获得选定的价值,
$('#selectElement').on('change',function(){ var selectedVal = $(this).val(); ^^^^ ^^^^ -> presents #selectElement selected value | v presents #selectElement, });