单击添加按钮我将使用最后一行的克隆添加新行,但如果已在最后一行检查过,则取消选中复选框。
上查看整个代码答案 0 :(得分:2)
将折线更改为:
jQuery("#dataTable tr:last").find("input[type='checkbox']").attr("checked", false);
两个问题:
type=text
而不是type=checkbox
)。此外,.children().children()
是不必要的。在这种情况下,.find()
(或ancestor-descendant)更漂亮。
答案 1 :(得分:1)
请在此处查看工作代码:http://jsfiddle.net/3rLqV/
将删除已检查状态行更改为:
jQuery("#dataTable tr:last input[type='checkbox']").removeAttr("checked");
您遇到的两个主要问题是type='text'
,而不是复选框,您无法将checked
设置为false。它要么在那里。
答案 2 :(得分:0)
试试这个
// to add new row
jQuery("#addRow").click(function () {
var jqasdasuery = jQuery("#dataTable tr:last").clone();
jqasdasuery.find('input[type=checkbox]').attr("checked", false);
jQuery("#dataTable").append(jqasdasuery);
setAttributes();
});
答案 3 :(得分:0)
添加
$(':checkbox',jqasdasuery).attr('checked', false);
克隆后。
答案 4 :(得分:0)
$(document).ready(function () {
$("#addRow").on('click', function () {
var jqasdasuery = $("#dataTable tr:last").clone();
$("#dataTable tbody").append(jqasdasuery);
$("#dataTable tr:last").find(':checkbox').attr('checked', false);
$("#dataTable tr:last").find('select option:first').attr('selected', true);
setAttributes();
});
$("#deleteRow").on('click', function () {
if ($("#dataTable tr").length === $("#dataTable input:checked").length) {
alert("You cant delete all the rows")
} else {
$("#dataTable").find(':checked').each(function () {
$(this).parents('tr').remove();
});
}
setAttributes();
});
});
function setAttributes() {
$("#dataTable tr").each(function (i) {
$(this).find(":checkbox").attr("name", "chk" + i);
$(this).find(":text").attr("name", "txt" + i);
$(this).find("select").attr("name", "country" + i);
});
//$("#dataTable tr:last").find("input[type='text']").attr("checked", "false");
};
答案 5 :(得分:0)
在克隆最后一行时删除复选框的已检查状态。
您可以添加以下行
jqasdasuery.find( “输入[类型= '复选框']”)ATTR( '检查',假);
在
var jqasdasuery = jQuery(“#dataTable tr:last”)。clone();
在“#addRow”中点击功能。