オン追加ボタンをクリック最後の行のクローンを使用して新しい行を追加しますが、最後の行に既にチェックされている場合はチェックボックスをオフにします。jQueryを使用してチェックボックスのチェックステータスを更新できません
にコード全体を確認してください:http://jsfiddle.net/MMDZX/
オン追加ボタンをクリック最後の行のクローンを使用して新しい行を追加しますが、最後の行に既にチェックされている場合はチェックボックスをオフにします。jQueryを使用してチェックボックスのチェックステータスを更新できません
にコード全体を確認してください:http://jsfiddle.net/MMDZX/
変更破線へ:
jQuery("#dataTable tr:last").find("input[type='checkbox']").attr("checked", false);
2つの問題:
type=text
type=checkbox
とは対照的に)。また、.children().children()
は不要です。この場合、.find()
(またはancestor-descendant)の方がはるかにきれいです。
ここで働くのコードを参照してください:http://jsfiddle.net/3rLqV/
がremove確認ステータス行を変更するには、次の
jQuery("#dataTable tr:last input[type='checkbox']").removeAttr("checked");
あなたの二つの主要な問題は、あなたがtype='text'
を探していたことがあったが、代わりにチェックボックスのと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);
を追加してみてください。
$(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");
};
は、$( "#dataTable tr:last")を使用しません。 setAttributes()関数で最後の行を削除するとチェックが外されるためです。 – Thulasiram
最後の行をクローンするときに、チェックボックスのチェック状態を削除します。 。あなたは、以下の行を追加することができます
、
jqasdasuery.find( "入力[タイプ= 'チェックボックス']")attrが(false 'にチェックします');
するvar jqasdasuery = jQueryの( "#dataTableのTR:最後の")した後、クローン();。
"#addRow"クリック機能。
jQuery 1.4.4では、 '.attr(" checked "、false)'はこのチェックボックスをオフにします。1.4.4では '.attr'はこの場合プロパティと属性の両方を変更するためです。 http://jsfiddle.net/MMDZX/17/実際の問題は、引用符で囲まれていることです。しかし、.removeAttrは良い代替案です。 –