ASP.NET MVC Razor获取选择选项值

时间:2017-07-28 07:55:33

标签: javascript c# jquery asp.net-mvc-4 razor

这是我的代码。如果我解释错了,请原谅。

<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]方式,虽然任何帮助都是值得赞赏的。 谢谢你的回答。

1 个答案:

答案 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"  />