2017-07-28 24 views
0

ここに私のコードです。私がこれを間違って説明すると、すみません。ASP.NET MVC 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をチェックすると、トムは彼の無効にされた属性を削除するでしょう。しかし、これは動作していないようです。

document.getElementByID('SupervisorID').options[$val].removeAttribute('disabled'); 

をしかし、値が5または6であり、唯一の2のオプションがあるとき、リスト内の5番目または6番目の値がありません。そして、私は使用してみました。このように2つの値があり、選択リストに2番目の値(Johnが値6)をチェックすると、リストがない場合にリストの6番目の値が選択されます。

私はオプション[$ val]ではなく、これを最初のやり方でしたいと思いますが、助けていただければ幸いです。 ありがとうございます。

答えて

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

+0

、それは動作しますが、どうもありがとうございました! – HighSepton

関連する問題