dpD*_*gnz 8 javascript jquery select multiple-select
我在我的页面上有一个多选项,并且我有一个禁用的选项,以便用户无法取消选择它们,但我无法弄清楚如何获取禁用选项的值.
我的代码到目前为止
// Get selected positions
var $selPositions = $('select#empPositions').val();
Run Code Online (Sandbox Code Playgroud)
HTML
<select name="empPositions[]" id="empPositions" style="width: 370px;" multiple="" data-placeholder="Choose a Position" required="">
<option></option>
<optgroup label="Admin">
<option disabled="">There are no positions assigned to Admin</option>
</optgroup>
<optgroup label="Information Technology">
<option value="1" selected="" disabled="">IT Developer</option>
<option value="2">IT Geeks</option>
</optgroup>
Run Code Online (Sandbox Code Playgroud)
请注意,禁用选项会根据其他变量进行更改,但它仅为我提供了选定的非禁用值.任何人都可以让我知道这是否可以做到以及如何做?
我正在使用Chosen,因此为什么disabled选择
小提琴: http ://jsfiddle.net/c5kn5w75/
我确实在JQuery Bug Site上找到了这篇文章
.val()中的长期逻辑确保我们不会在select-multiple中返回禁用的选项.对于一致性,此更改仅对select-one应用相同的行为.如果需要,可以通过$("select").prop("selectedIndex")获取禁用选项值.
但这对我不起作用.
Pet*_*rKA 11
var opt = $('#empPositions option:selected').map(function(i,v) {
return this.value;
}).get(); // result is array
alert( opt );
Run Code Online (Sandbox Code Playgroud)
请记住,当您提交表单时,即使选择了禁用选项,也不会提交.如果您通过AJAX提交,那么您可以获取如上所示的值.
还要记住,$('option[disabled]').val()它将返回第一个禁用option元素$('option[disabled]:selected').val()的值和第一个选定的禁用选项的值.
如果总是只有一个selected disabled选项元素,您可以使用以下方法来定位它:
var opt = $('#empPositions option[disabled]:selected').val(); // result is string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16741 次 |
| 最近记录: |