追加ボタンをクリックすると、最後の行のクローンを使用して新しい行を追加していますが、最後の行で既にチェックされている場合はチェックボックスをオフにしたいです。
コード全体を確認してください: http://jsfiddle.net/MMDZX/
追加ボタンをクリックすると、最後の行のクローンを使用して新しい行を追加していますが、最後の行で既にチェックされている場合はチェックボックスをオフにしたいです。
コード全体を確認してください: http://jsfiddle.net/MMDZX/
破線を次のように変更します。
jQuery("#dataTable tr:last").find("input[type='checkbox']").attr("checked", false);
2 つの問題:
type=text
ではなくtype=checkbox
) を検索しています。また、.children().children()
不要です。.find()
(または祖先-子孫) は、この場合、はるかにきれいです。
ここで作業コードを参照してください: http://jsfiddle.net/3rLqV/
remove checked ステータス行を次のように変更します。
jQuery("#dataTable tr:last input[type='checkbox']").removeAttr("checked");
あなたの 2 つの主な問題は、チェックボックスの代わりに を探していたことと、 false にtype='text'
設定できないことです。checked
あるかないかのどちらかです。
$(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");
};
これを試して
// 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();
});
追加
$(':checkbox',jqasdasuery).attr('checked', false);
クローンの後。
最後の行を複製するときにチェックボックスのチェック状態を削除します。
次の行を追加できます。
jqasdasuery.find("input[type='checkbox']").attr('checked',false);
後
var jqasdasuery = jQuery("#dataTable tr:last").clone();
「#addRow」クリック機能で。