Я искал здесь темы, и никакие решения для меня не работали, кто-нибудь знает, что происходит с этой скрипкой? http://jsfiddle.net/9dLGD/ Спасибо
$(document).ready(function () {
$(function () {
$('#SelectAll').click(function () {
$('#Suppliers').find(':checkbox').attr('checked', this.checked);
});
});
});
<input name="SelectAll" type="checkbox">Select All
<input name="Suppliers" type="checkbox" value="1">Bob
<input name="Suppliers" type="checkbox" value="2">Bill
<input name="Suppliers" type="checkbox" value="3">Sandy
<input name="Suppliers" type="checkbox" value="4">Sue
<input name="Suppliers" type="checkbox" value="5">Fred
Похоже, вы этого хотите:
$('input[name=SelectAll]').click(function () {
$('input[name=Suppliers]').prop('checked', this.checked);
});
В вашем HTML нет id
с именем SelectAll
или Suppliers
. Или добавьте эти идентификаторы в эти два флажка или используйте выше код, который выбирает элементы input
по их именам.
Несколько вещей:
-You имеют две функции готовности DOM
-You не имеет ничего с идентификатором Suppliers
, у вас есть name
!
-Use .prop()
для изменения атрибутов
$(document).ready(function() {
$("[name=SelectAll").change(function() {
$(":checkbox[name=Suppliers]").prop("checked", this.checked);
});
});
Попробуйте следующее:
$(document).ready(function () {
$('#SelectAll').click(function () {
$('input[name=Suppliers]:checkbox').attr('checked', true);
});
});
Мне нравится Felix, но я всегда использую случай отмены проверки, чтобы снять отметку с них:
$(function(){
$('input[name="SelectAll"]').click(function(){
if ($(this).prop('checked')) $('input[name="Suppliers"]').prop('checked', true);
else $('input[name="Suppliers"]').prop('checked', false);
});
});
ids
:SelectAll
иSuppliers
в первые два флажка