我有一个带有下拉(选择)列的jqGrid。当select的selected选项发生变化时,我需要运行一些验证。我已经将change
事件解雇了,但我无法弄清楚我需要用来获取所选选项的语法。通常情况下,这是simple:
$("#someDropDownId option:selected").text();
我可以在运行时构建下拉列表ID,但在我的生活中无法弄清楚如何获取所选文本。
var rowId = $("#grid").jqGrid('getGridParam', 'selrow');
var selectId = rowId + '_Description';
//selectId is the ID of the select element, how do I get the selected value now??
我尝试过所有方式的组合,例如$("selectId option:selected").text();
,但我无法理解。是否可能,如果可能,语法是什么?
答案 0 :(得分:2)
您可以使用on()
方法:
$('select').on('change', function(e){
var selectedOptionText = $(this).find('option:selected').text();
});
或者更简单:
$('select').on('change', function(e){
var selectedOptionText = $(this).find('option').eq(this.selectedIndex).text();
});
答案 1 :(得分:1)
如果您在事件处理程序内,则可以执行$(this).val();
或$(this).find("option:selected").text();
。
答案 2 :(得分:0)
而不是$("selectId option:selected").text()
做$("#selectId").val()