选中基于no.of复选框的行不生成

时间:2014-05-25 07:52:23

标签: jquery

我有多个复选框,比如10。

每个复选框都包含唯一值。

我的要求是, 我必须在表格中生成no.of行,现在根据复选框检查复选框以及应填入表格行的第一个td的复选框的值。

提前致谢

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

<强> HTML

<input type='checkbox' value='1'/>
<input type='checkbox' value='2'/>
<input type='checkbox' value='3'/>
<input type='checkbox' value='4'/>
<input type='checkbox' value='5'/>
<input type='checkbox' value='6'/>
<input type='checkbox' value='7'/>
<input type='checkbox' value='8'/>
<input type='checkbox' value='9'/>
<input type='checkbox' value='10'/><br/>
<button>Generate table</button>    

<强> JS

var table = $('<table>').appendTo('body');
$('button').click(function(){    
  $(":checked").map(function(){
    return $("<tr><td>" + $(this).val() + "</td><td></td></tr>");
  }).appendTo(table.empty());
});

Demo.

该演示假设您只有一个包含2列的表格。这个想法只是通过:checked选择器获取所有选中的复选框,然后使用.map将此集合转换为相应tr元素的集合。然后在清空表格后将此tr集合附加到table

答案 1 :(得分:0)

您是在寻求帮助还是只是想让某人为您做这件事?

您似乎已经知道所有步骤 - 阅读您的复选框,并在每个选中的表格中创建一个新的tr。

可怕的jquery中的一个可能的例子:

jQuery('#add_to_table').on('click', function(){
    jQuery('.checkbox_class').each(function(i, checkbox) {
        if (checkbox.checked) { 
            jQuery('#table_id').append( 
                jQuery('<tr/>').append(
                    jQuery('<td/>').text(checkbox.value)
                )
            )
        }
    });
});   

http://jsfiddle.net/Fg6K5/