2016-07-08 9 views
0

jQueryを使ってデータテーブルを動的に生成しました。最初の列はチェックボックス、最後の列はテキストボックスです。私の要件は、ユーザーがチェックボックスをオフにすると、テキストボックスの値をクリアする必要があります。私は最も近い機能を使ってやろうとしましたが、それは起こっていません。jqueryのチェックボックスの近くのテキストボックスIDを見つけるには?

$('#statement-table').dataTable({ 
     "data": json, 
     "dom": 't', 
     "info": false, 
     "pageLength": 8, 
     "columns": [ 
      {"data":""}, 
      {"data": "statementCode"}, 
      {"data": "dueDate"}, 
      {"data": "statementBalance"}, 
      {"data": ""} 

     ], 
     "columnDefs": [ 
      {className: "pad-md-left-p-10 pad-top-bottom-p-10 white-active-bg mouse-link", "targets": [0,1,2,3,4]}, 
      { 
       'targets': 0, 
        'render': function(data, type, full, meta) { 
         ++index; 
          return '<input type="checkbox" id="select-checkbox'+index+'" name="payment-checkbox" id="select-checkbox"/>'; 
        } 
      }, 
       { 
       'targets': 4, 
       'render': function (data, type, full, meta){ 
        return '<span class="dollar-font">$</span>'+ 
        '<input type="number" id="payement-textbox'+index+'" name="payment-textbox" min="1" max="100000" maxlength="9" class="payment" placeholder="--" value=""/>'; 
       } 
       } 

     ], 
     "aaSorting": [[2, 'desc']], 

    }); //End of datatable function 

jQueryのコードは以下の通りです:: 以下は私のコードである

$("input[name=payment-checkbox]").on('change', function() { 
      var ischecked = this.checked; 
       if (!ischecked) { 
        $(this).closest(".payment").val(''); 
       } 

      }); 

私は、チェックボックスをオフにすると、その変更イベントが発生しますが、それは空のテキストボックスを行いません。私が間違っていることを教えてもらえますか?

答えて

0

tr要素までトラバースする必要があります。これは、closest()の機能です。次に.find()子孫payment要素。 。あなたが使用することができます

$("input[name=payment-checkbox]").on('change', function() { 
    var ischecked = this.checked; 
    if (!ischecked) { 
     $(this).closest('tr').find(".payment").val(''); 
    } 
}); 
+0

これが機能しました。どうもありがとう :) –

0

$("input[name=payment-checkbox]").on('change', function() { var ischecked = this.checked; if (!ischecked) { $(this).parent('tr').siblings().children(".payment").val(''); } });

:。 $(この).parent( 'TR')兄弟を()、子供( "支払い。")のval( '')。 ;または $(this).parent( 'tr')。siblings()。find( "。payment")

関連する問題