Я использую 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