如何在jquery中找到复选框旁边的文本框ID?

时间:2016-07-08 06:56:56

标签: javascript jquery html checkbox textbox

我使用jquery动态生成了一个数据表,其中第一列是复选框,最后一列是文本框。我的要求是,当用户取消选中该复选框时,应清除文本框值。我试图用最接近的功能,但它没有发生。 以下是我的代码:

$('#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('');
                }

            });

当我取消选中该复选框时,更改事件会被触发,但它不会清空文本框。你能告诉我我做错了吗?

2 个答案:

答案 0 :(得分:0)

您需要遍历tr元素,这是closest()的作用。然后是.find()后代payment元素。

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

答案 1 :(得分:0)

  

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

您可以使用: $(本).parent(&#39; TR&#39)的兄弟姐妹()的儿童。(&#34; .payment&#34)。VAL(&#39;&#39);要么 $(本).parent(&#39; TR&#39)。兄弟姐妹()找到(&#34; .payment&#34)。VAL(&#39;&#39)