Эта строка:
var elems = '<div>' + '<input type="checkbox" id="checkbox"' + (counter) + '" class="item"/>' + '<input type="text" id="inputfield"' + (counter) + '"/>' + '</div>';
... имеет две дополнительные кавычки.Это должно быть:
var elems = '<div>' + '<input type="checkbox" id="checkbox' + (counter) + '" class="item"/>' + '<input type="text" id="inputfield' + (counter) + '"/>' + '</div>';
Это сломает ваш селектор для события click
.Но обратите внимание, это не сработает в любом случае, так как вы пытаетесь перехватить элемент, который не существует, пока не нажата ссылка «нажмите меня», поэтому вам нужно использовать .live()
или .delegate()
для этого в любом случае.
Нечто подобное может работать:
$("#drag").delegate("input[type=checkbox]", "change", function(){
var index = this.id.substring(8);
$("#inputfield" + index).toggleClass("complete");
});