2017-04-08 7 views
0

ユーザーが選択ボックスのオプションを変更した場合フォーム内のすべてのフィールドを無効にしたい場合はトリガーする選択ボックスとid = xyz選択ボックスを変更した後に1フィールドを除くすべてのフォームフィールドを無効にする

私はどのようにすばやく簡単な方法でそれを行うことができます。

「#newsite_IS_HELPERは、」あなたはあなたのフォームの下にあるすべての入力要素を選択し、あなたがすなわちthis要素を選択したくないものを除外していることを行うことができます選択ボックス

$('#newsite_IS_HELPER').change(function(){ 
    alert('What i have to do?'); 
}); 
+0

tを使わないで*どういう意味ですか?彼は選択ボックスをトリガーします。* –

+0

変更された選択ボックスは無効にならないようにしてください(そして1つのスペキュリア入力フィールドも)。上記のコードを編集してください。 – newbieRB

答えて

1

のID(その一つであります無効化アクション、つまりselectが発生しています)、入力エレメントは#xyzです。

$('#your_form_id :input:not(#xyz):not(#newsite_IS_HELPER)').prop("disabled", true); 

私はどのように

$('#newsite_IS_HELPER').change(function(){ 
 
    var this_val = $(this).val(); 
 
    var disable_all = false; 
 
    if(this_val != "1"){ 
 
     disable_all = true; 
 
    } 
 
    $('#your_form_id :input:not(#xyz):not(#newsite_IS_HELPER)').prop("disabled", disable_all); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="your_form_id"> 
 
    <input id="xyz"> 
 
    <input><input><input><input><input> 
 
    <select id="newsite_IS_HELPER"> 
 
    <option value="1">enable all</option><option value="2">disable all</option><option value="3">disable all again</option> 
 
    </select> 
 
</form>

+0

2つの要素で「どうしたら」できないのですか? – newbieRB

+0

@newbieRBはい、私は2つの要素に対して ':not'を実行できます。フィドルを確認してください。 –

+0

@newbieRBあなたはそれを試しましたか? –

0

$ ('#newsite_IS_HELPER').change(function(){ 
    $("input").attr("disabled", "disabled");  
    $(this).attr("disabled",false); 
    $("#xyz").attr("disabled",false); 
}); 

それとも、他に、あなたは、私のコードを怒鳴るように、ATTRの代わりに小道具を使用することができます

​​
関連する問題