我正在使用JQuery 1.12。我在使用JQuery获取菜单项的选定索引时遇到了麻烦。我有这个HTML:
<select class="selectField selectMenu form-control" name="user[address_attributes][state_id]" id="user_address_attributes_state_id"><option value="">Select State</option>
<option value="3526">Alabama</option>
<option value="3556">Alaska</option>
<option selected="selected" value="3547">Arizona</option>
<option value="3510">Arkansas</option>
<option value="3542">California</option>
<option value="3543">Colorado</option>
<!-- rest omitted for brevity -->
</select>
您可以看到“亚利桑那州”选项旁边填充了“已选择”。但是,当我尝试使用JQuery查找选择的索引时,它只返回零...
$('#user_address_attributes_state_id')[0].selectedIndex
0
但是,当我按其值选择选项时,我确实看到它被选中...
$('#user_address_attributes_state_id option[value="3547"]').attr("selected")
"selected"
您可以看到我的HTML中没有选择任何其他内容。如何使用jQuery准确返回菜单的选定索引?
答案 0 :(得分:2)
获取所选选项:
var selected_option = $('#user_address_attributes_state_id option:selected');
和选定的索引:
var selected_index = $('#user_address_attributes_state_id option:selected').index();
并按value="3547"
选择选项:
$('#user_address_attributes_state_id').val(3547);