Попробуйте следующее:
install.packages('Rcpp')
install.packages('ggplot2')
install.packages('data.table')
Я сделал аналогичный подход, но просто используя проверенный атрибут, такой как
//toggles checkbox on/off
$("input:checkbox").change(
function(){
if(!this.checked){
this.checked=true;
}
else{
this.checked=false;
}
}
);
//end toggle
$('input#myId').toggle(
function(e){
e.preventDefault();
//do stuff
$(this).attr('checked', 'true');
},
function(e){
e.preventDefault();
//do other stuff
$(this).attr('checked', 'false');
}
);
Это ответ MorningZ (я нашел здесь здесь ), что имеет смысл:
Недопустимая часть, так как «checkbox» - это объект jQuery, а не объект DOM checkbox DOM
so:
checkbox.checked
наверняка будет ошибкой, потому что для объекта jQuery
нет свойства .checked
, поэтому:
checkbox[0].checked
будет работать, поскольку первый элемент в массиве jQuery является самим объектом DOM.
Итак, в вашей функции change()
вы можете использовать
$(this)[0].checked
При использовании обработчика событий change
, предложенного Dreas Grech, подходит, это не очень хорошо работает в IE 6 & amp; 7, который не запускает событие change
до тех пор, пока фокус не будет размытым (то есть, пока вы не выйдете за пределы области флажка). Как и QuirksMode , «это серьезная ошибка».
Возможно, вы захотите использовать обработчик событий click
, но это не будет работать с навигацией по клавиатуре. Вам также нужно зарегистрировать обработчик keyup
...
См. Также этот связанный вопрос .
Я еще не нашел хорошего кросс- браузерное решение, которое поддерживает как щелчки мыши, так и клавиатуру, активирует флажки (и не запускает слишком много событий).
Что касается вашего решения для проверки того, установлен флажок или нет, вместо добавления ваш собственный класс checked
, вы можете использовать атрибут checked
HTML:
$('input#myInput').change(function () {
if ($(this).attr("checked")) {
//do stuff if the checkbox is checked
} else {
//do stuff if the checkbox isn't checked
}
});
Любой браузер устанавливает атрибут checked
элемента input
в значение "checked"
, если этот флажок установлен проверяется и устанавливает его на null
(или удаляет атрибут), если флажок не установлен.
это сработало для меня ............ проверьте его
$(":checkbox").click(function(){
if($(this).attr("id").split("chk_all")[1])
{
var ty = "sel"+$(this).attr("id").split("chk_all")[1]+"[]";
if($(this).attr("checked"))
{
$('input[name="'+ty+'"]').attr("checked", "checked");
}
else
{
$('input[name="'+ty+'"]').removeAttr("checked");
}
}
})
$("input[type=checkbox][checked=false]")// be shure to set to false on ready
$("input#Checkbox1").change(function() {
if ($(this).attr("checked")) {
$("#chk1").html("you just selected me")//the lable
} else {$("#chk1").html("you just un selected me") }
});
почему бы не использовать $ .is ()?
$('input#myId').change(
function() {
if ($(this).is(':checked')) {
// do stuff here
} else {
// do other stuff here
}
});
Попробуйте:
$(":checkbox").click(function(){
if($(this).attr("checked"))
{
$('input[name="name[]"]').attr("checked", "checked");
}
else
{
$('input[name="name[]"]').removeAttr("checked");
}
})