2016-03-08 3 views
1

Я не получаю проверяемый статус флажка. Проверки динамически создаются. Ниже приведен код:Не получать флажок после щелчка на флажке

'[id^=taskcheckbox_] click' : function(el){ 
    var taskObj={}; 
    var taskCheckBoxId = el.attr("id"); 
    var indexOfTask = taskCheckBoxId.split("_")[2]; 
    var checkedValue = this.element.find("#"+taskCheckBoxId).attr("checked"); 
    var task_id = taskCheckBoxId.split("_")[1]; 
    if(checkedValue == "checked" && checkedValue != undefined){ 
     this.count++; 
}} 

управления не собирается в if состоянии после того, как флажок. Значение checkedValue всегда прибывает как undefined.

+0

Это будет здорово, если вы добавите свой HTML также –

+1

не 'this.element.find (" # "+ taskCheckBoxId)' тот же, что и 'el', поскольку ваш код подразумевает, что они имеют один и тот же' id' (* 'taskCheckBoxId' является атрибутом' id' 'el' *). –

+0

Hi Gaby aka G. Petrioli, я просто подумал о вашей точке ... и это сработало, используя следующее: var checkedValue = el.prop («checked»); – Raj

ответ

3

Используйте опору() вместо ATTR()

► Если вы используете JQuery 1.6 или более поздней версии, используйте опору() вместо ATTR()

var checkedValue = this.element.find("#"+taskCheckBoxId).prop("checked"); 

Когда ты использует prop(), возвращаемое значение будет Логическим

$(document).delegate("[id^=taskcheckbox_]", "click", function(el) { 
    //[id^=taskcheckbox_] click' : function(el){ 
    var taskObj = {}; 
    var taskCheckBoxId = el.currentTarget.id; 
    var indexOfTask = taskCheckBoxId.split("_")[2]; 
    var checkedValue = $(el.currentTarget).is(":checked"); 
    var task_id = taskCheckBoxId.split("_")[1]; 
    if (checkedValue) { 
    console.log('checked') 
     //this.count++; 
    } 
}) 

DEMO FIDDLE

+0

Я уже пробовал это .... в этом случае тоже .. я получаю неопределенный. – Raj

+0

@Raj Добавьте свой HTML к вопросу. Это будет действительно полезно –

+0

@Raj Я обновил свой код. Пожалуйста, подтвердите и дайте мне знать, если это не работает –

Смежные вопросы