2016-04-21 19 views
-2

ドロップダウン選択の値に基づいて特定のボックスを自動的にチェックする方法があるのだろうかと思っていました。私は永遠に検索しているだけで、ドロップダウンに基づいてチェックボックスを表示または非表示にする方法を見つけるように見えるかもしれませんが、それは私が探しているものではありません。ドロップダウンに基づくチェックボックスのチェック

+1

あなたが何かをしようとしたのですか?それほど難しいことではありません。 –

+1

あなたはあなたの質問をよりよく説明しなければならないでしょう。 PHPとJavaScriptの両方でタグ付けされているので、どちらですか? JavaScriptを使用して同じページのチェックボックスの値を変更するドロップダウンを希望しているのか、フォームを送信した後に新しいページのチェックボックスの値を変更したいのですか?また、これまでに何を試しましたか? – Chris

+0

はい、私は多くの異なったことを試みましたが、それらのすべてがうまく動作しないか、チェックボックスをすべて隠しています。 – Kevin

答えて

2

これはかなり簡単にjQueryで行うことができます。このコードは、ドロップダウンからの変更イベントをid="dropdown"でリッスンし、ドロップダウンテキストが 'foo'の場合は、チェックボックスにid="checkbox"をチェックします。

$("#dropdown").change(function() { 
    if($('#dropdown :selected').text() === 'foo') $('#checkbox').prop('checked', true); 
}); 

あなたが選択が再び変更されたときに、このようなものが良いかもしれない]チェックボックスをオフにしたい場合:

$("#dropdown").change(function() { 
    var text = $('#dropdown :selected').text(); 
    $('#checkbox').prop('checked', text === 'foo'); 
}); 

Fiddle

+0

問題は、5つのチェックボックスがあり、3つのドロップダウン値...ドロップダウン1が選択されている場合1、3、5 ...ドロップダウン2がチェックボックス2,3,5を選択している場合on ... – Kevin

+0

$( '#checkbox'、 '#checkbox2')を作ることはできますか?prop( 'checked'、true);基本的には、そのIDに基づいて1つのIDがチェックされるようにすることはできますか? – Kevin

+0

まったく。私はそれを示すためにフィドルを更新しました。 (セレクタの構文が若干異なります) – IrkenInvader

0

これは、あなたが求めているものを行う必要があります。それが役に立てば幸い!

function setCheckBox(value){ 
 
    var chk = document.getElementById('check1'); 
 
    chk.checked = (value != 'null'); 
 
}
<table> 
 
    <tr> 
 
     <td> 
 
      <input type="checkbox" name="check1" id="check1"/>Test 1:</td> 
 
     <td> 
 
      <select id="process1" onchange="setCheckBox(this.value);"> 
 
       <option value="null">--Select Option--</option> 
 
       <option value="OptionA">Option A</option> 
 
       <option value="OptionB">Option B</option> 
 
       <option value="OptionB">Option C</option> 
 
      </select> 
 
     </td> 
 
    </tr> 
 
</table>

0

なく、あなたの細目の確認が、これは、あなたが尋ねた、あなたのタスクを完了するために、それから部品を取ることができるはず何が。

document.getElementById('changer').onchange = function(){ 
 
    var boxes = document.querySelectorAll('input[type="checkbox"]'); 
 
    for(var i=0;i<boxes.length;i++) 
 
    { 
 
    \t boxes[i].checked = boxes[i].id == this.value; 
 
    } 
 
};
<select id='changer'> 
 
    <option>None</option> 
 
    <option value='a'>A</option> 
 
    <option value='b'>B</option> 
 
    <option value='c'>C</option> 
 
    <option value='d'>D</option> 
 
</select> 
 
<br /> 
 
<input type='checkbox' id='a' /><label for='a'>A</label><br /> 
 
<input type='checkbox' id='b' /><label for='a'>B</label><br /> 
 
<input type='checkbox' id='c' /><label for='a'>C</label><br /> 
 
<input type='checkbox' id='d' /><label for='a'>D</label>

関連する問題