Я использую jQuery Uniform для стиля ввода / выбора и т. Д. Однако флажок перестал работать. Я appending
данные, отправленные с вызова AJAX. После загрузки я использую $.uniform.update("input:checkbox")
для обновления нового HTML. При попытке (не) проверить ввод, он работает только один раз. Если я хочу (не) проверить это снова, это вообще не изменится.
Я попытался изменить Uniform Javascript , чтобы все действия (т.е. click
, focus
, blur
и т. Д.) Выполнялись под функцией .live
. (т. е. .live("click",
). Это просто мешает работать.
Обновление:
Я полностью прочитал 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