2016-08-24 55 views
-1

我有这个代码,在表行中有复选框和输入框,我想获得所有输入框的复选框的检查遍历所有选中的复选框,并获得输入框的值在jquery

这是HTML

<table> 
<tr> 
<td><input type="checkbox" name="new" value="37"></td> 
<td><input type="text" name="new" id="quantity" class="37"></td> 
</tr> 

<tr> 
<td><input type="checkbox" name="new" value="38"></td> 
<td><input type="text" name="new" id="quantity" class="38"></td> 
</tr> 
    .....#this continue 
    </table> 

注意类的输入框是一样的复选框

目前正在使用该代码的值检查所有选中的复选框

var marked = new Array(); 
    var k = 0; 
    $('input:checked').each(function(index,value) { 

     marked[k] = value; 
     k++; 
     alert(k); 
    });   
    alert($('input[name="new"]:checked').serialize()); 

我怎样才能改变它返回的输入框中的值

回答

1

试试这个:

$(document).ready(function(){ 
     $("input[type=checkbox]").each(function(){ 
      if($(this).is(':checked')) 
      { 
       var value = $(this).closest('tr').find($("input[type=text]")).val(); 
       alert(value); 
      } 
     }); 
    }); 
+0

这个迭代通过所有这些,但如何合作我想将序列化在.each函数之外的值 –

+0

将它们推入一个数组中,并相应地使用它 –

0

var arr=[]; 
 

 
$(':checkbox:checked').each(function(){ 
 

 
arr.push($(this).parent().next().find('input').val()) 
 
//arr.push($(this).val()) 
 

 
}) 
 

 
console.log(arr)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
<tr> 
 
    <td> 
 
    <input type="checkbox" name="new" value="37" checked> 
 
    </td> 
 
    <td> 
 
    <input type="text" name="new" id="quantity" class="37" value='asd'> 
 
    </td> 
 
</tr> 
 

 
<tr> 
 
    <td> 
 
    <input type="checkbox" name="new" value="38" checked> 
 
    </td> 
 
    <td> 
 
    <input type="text" name="new" id="quantity" class="38" value='qwe'> 
 
    </td> 
 
</tr> 
 
</table>

尝试这种方式

相关问题