Я использую jQuery Uniform для ввода/выбора стиля и т.д. Однако флажок перестает работать. Я appending данные, отправленные из вызова ajax. После его загрузки я использую $.uniform.update("input:checkbox") для обновления нового html. При попытке (un) проверить ввод, он работает только один раз. Если я хочу (un) проверить его снова, он не изменится вообще.
Я попытался изменить Uniform Javascript, чтобы все действия (т.е. click, focus, blur и т.д.) находились под символом .live. (т.е. .live("click",). Это просто прекращает работу.
Update:
Я полностью прочитал Uniform JS и обнаружил проблему:
if(!$(elem).attr("checked")){
//box was just unchecked, uncheck span
spanTag.removeClass(options.checkedClass);
}else{
//box was just checked, check span.
spanTag.addClass(options.checkedClass);
}
Синтаксис .attr("checked") не работает. Он всегда будет возвращать false. Зачем? Я не знаю. Кроме того, он не обновляет исходный input, чтобы удалить атрибут checked или установить атрибут checked.
Я пропустил официальный сайт и обнаружил, что он не обновляет входной флажок. Так что это не только я xP
Я немного поработал и нашел различные методы проверки флажка, но следующие методы не работают:
if ($(elem).attr("checked")) // The original.
if ($(elem).attr("checked") == true)
if ($(elem).is(":checked"))
if ($(elem).checked)
// and:
var check = $(elem).match(/checked=/);
if (check == null)
Слова руководства очень ценятся ~: 3