这是我的代码。如果我解释错了,请原谅。
<select class="form-control" data-val="true" data-val-number="The field
SupervisorID must be a number." data-val-required="The SupervisorID field is
required." id="SupervisorID" name="SupervisorID"><option value=""
disabled="disabled">Select Supervisor</option>
<option value="5" disabled="disabled">Tom</option>
<option value="6" disabled="disabled">John</option>
</select>
我的问题是如何访问选项值。我尝试使用
$('select[option[value*='+$val+']]').removeAttribute
我只想从所选值中删除该属性。 $ val是我在复选框中选择的值,并且在选择列表中启用了所选值。因此,当我检查值5时,Tom将删除其禁用的属性。但这似乎不起作用。我尝试使用:
document.getElementByID('SupervisorID').options[$val].removeAttribute('disabled');
但是当值为5或6并且只有2个选项时,列表中没有第5个或第6个值。通过这种方式,当有2个值并且我在选择列表中检查第二个值(约翰的值为6)时,它选择列表的第6个值,当时没有。
我想以第一种方式做到这一点,而不是选项[$ val]方式,虽然任何帮助都是值得赞赏的。 谢谢你的回答。
答案 0 :(得分:0)
您可以使用jquery完成。
$('select option:selected').removeAttr('disabled');
$(".chk").on("change",function(){
if($(this).is(":checked")){
$('select option[value="' + $(this).attr('value')+ '"]').removeAttr('disabled');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<select class="form-control" data-val="true" data-val-number="The field
SupervisorID must be a number." data-val-required="The SupervisorID field is
required." id="SupervisorID" name="SupervisorID">
<option value="" disabled="disabled" selected="selected">Select Supervisor</option>
<option value="5" disabled="disabled">Tom</option>
<option value="6" disabled="disabled">John</option>
</select>
<input class="chk" type="checkbox" value="5" />
<input class="chk" type="checkbox" value="6" />