2017-10-30 18 views
0

Checkboxesチェックボックスをオンにするとチェックボックスがオンになります。

私はこれらのチェックボックスを持っています。彼らは人々が仕事に利用できる日に対応しています。このシステムは「勤務スケジュール」の作成に使用されます。しかし、上司がチェックボックスをチェックすると(特定の日に作業するようにする)、選択ボックスに変更され、上司は人がどこで働くのかを知ることができます。

チェックボックスの名前は次のようになります。{UserID}_[]。チェックボックスの値は、曜日(月曜日 - > 0、火曜日 - > 1、水曜日 - > 2など)に対応します。選択ボックスはこのようにして作成されます:{UserID}_select_[]

私はこの作業を取得するためにjqueryのスクリプトの次のタイプを使用しようとしました:

<script> 
    var userList = <?php echo json_encode($userIdList); ?>; 

    function swapInput(obj) { 
     for (var i in obj) { 
      $(document).ready(function() { 
       $("input[name='" + obj[i] + "_[]']").change(function() { 
        if ($(this).prop('checked')) { 
         $(this).hide(); 
         $('input[name="' + obj[i] + '_select_['$(this).val()']"]').show(); 
        } 
       } 
      } 
     } 
    } 

    swapInput(userList); 

</script> 

はしかし、私はjQueryのに非常に新しいですので、私はそこにいくつかの助けが必要になる場合があります。データベースからPHP配列を取得して、利用可能なすべてのユーザーIDを取得します。これはjquery変数に変換されます。私はすべての単一のIDを取得し、チェックボックスを非表示にするコード行を作るためにそれをループしようとします。しかし...それは動作しません...いつも...

私はuserIdList PHPの変数をのvar_dumpする場合として、これは私の結果である:

array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(4) } 

これは、ユーザーのIDのは1、2及び4であることを意味します。しかし、誰がjqueryの部分で私を助けることができますか?

答えて

1

添付デモのための超シンプルなjqueryコードチェックボックスをオンにすると表示/非表示を選択します。通知私はnameの代わりにidを使用します。考慮すべきいくつか他のもの:

  • 変更.change.clickへ。

  • $(document).ready(function()をforループの外側に移動すると、 が一度だけ実行されます。

$("#check").click(function(e) { 
 
    if ($(this).prop("checked")) { 
 
    $(this).hide(); 
 
    $("#select").show(); 
 
    } 
 
})
#select { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
</head> 
 
<body> 
 
<script src="https://code.jquery.com/jquery-3.1.0.js"></script> 
 
<input type="checkbox" id="check"> 
 
<select id="select"> 
 
    <option>Testing</option> 
 
</select> 
 
</body> 
 
</html>

関連する問題