私のウェブサイトにはチケットのリストがあります。そのリストの一番上で、私は、このチェックボックスを持って、それがリスト内のすべてのチェックボックスをチェックすることができます。入力に値を追加する - jQuery
<input type="checkbox" id="checkall" class="checkall" name="checkall">
このチェックボックスは、チェックし、他のすべてのチェックボックスを、以下のjQueryを使って:
$(document).ready(function(){
$('#checkall').toggle(function(){
$('input:checkbox').attr('checked','checked');
$(this).val('uncheck all')
},function(){
$('input:checkbox').removeAttr('checked');
$(this).val('check all');
})
})
$('input:checkbox').click(function() {
$("#userInfo").toggle(!($('input:checkbox:checked').length == 0));
});
$('#close').click(function() {
$("#userInfo").hide();
$('input:checkbox').removeAttr('checked');
});
が、また、選択したすべてのチェックボックスの値を自分のフォームに入れたいと思っています。私はそのため、このコードを使用します。
function updateTextArea()
{
var allVals = [];
$('#c_b :checked').each(function(){
allVals.push($(this).val());
});
jQuery('#ticketIds').val(allVals);
}
$(function()
{
$('#c_b input').click(updateTextArea);
updateTextArea();
});
そして、ここでは私のフォームです:
<form method="post" name="edit">
<input type="hidden" id="ticketIds" name="ticketIds" value="">
<input type="submit" class="button gray" value="Okay, do it" name=""> <a href="#" id="close">Close</a></form>
私の問題は、私は、チェックボックス「すべてをチェック」を使用したときに、NO値が#ticketIdsに追加されていない、です。各チェックボックスを自分でチェックすると、値が追加されます。
どのようにすればいいのですか?両方の方法で動作しますか?
を、あなたは'.prop( 'checked'、val)'を使うことができます。 'val'はブール値です。 – ThiefMaster