我有一个基于JQUERY的对话框,上面有一个'select'。当我单击按钮时,我需要获取选择选项值。
这是我的JavaScript代码:
$( "#dialog-select" ).dialog({
resizable: true,
height:250,
width:450,
modal: true,
buttons: {
"Ok": function() {
var priority = $('#dialog-select')
.find('select[name="priority"]');
var priorityString = JSON.stringify(priority);
alert('priorityString : ' + priorityString);
$( this ).dialog( "close" );
return true;
},
Cancel: function() {
$( this ).dialog( "close" );
return false;
}
}
});
对话框的HTML是用JavaScript编写的。这是:
$('#dialog-select').html('<p><span>Please select</span></p>'+
'<table>'+
'<tbody>'+
'<tr>'+
'<td align="left"><font size="1" color="red">*</font></td>'+
'<td align="left"><label>New Priority</label></td>'+
'<td>'+
'<select name="priority">'+
'<option value = "default">Please select...</option>'+
'<option value = "h">High</option>'+
'<option value = "m">Medium</option>'+
'<option value = "l">Low</option>'+
'</select>'+
'</td>'+
'</tr>'+
'</tbody>'+
'</table>'+
'<br/>');
我上面所做的不起作用,请帮助:)
答案 0 :(得分:4)
使用$("#element").val()
作为所选选项的值,或使用$("#element option:selected").text()
获取所选选项的名称/文字。
答案 1 :(得分:1)
由于(在您的页面上,给定特定的html)您只能通过其Name
识别选择(无需遍历DOM),最快的解决方案是:
var selectedvalue = $('select[name="priority"]').val();
我建议在下拉列表中添加一个ID,这将是一个更有效的搜索。但除非你的页面很大,否则几乎不会引起注意,所以它更像是一种“良好实践原则”。
请注意: 我使用'用于jQuery选择器字符串,并且“用于选择器中的名称值。您可以反过来使用它们,但它们必须是不同的。