Я уже перепробовал все возможные способы, но все равно не заработал. У меня есть модальное окно с, checkbox
я хочу, чтобы при открытии модального checkbox
режима , проверка или снятие флажка должны быть основаны на значении базы данных. (Я уже работал с другими полями формы.) Я начал пытаться проверить это, но это не сработало.
Мой HTML Div:
<div id="fModal" class="modal" >
...
<div class="row-form">
<div class="span12">
<span class="top title">Estado</span>
<input type="checkbox" id="estado_cat" class="ibtn">
</div>
</div>
</div>
и JQuery:
$("#estado_cat").prop( "checked", true );
Я также пытался attr
, и другие видели здесь на форумах, но ни один, кажется, не работает. Может кто-нибудь указать мне правильный путь?
РЕДАКТИРОВАТЬ: хорошо, я действительно что-то здесь упускаю ... Я могу установить / снять флажок, используя код, если флажок на странице, но это в модальном окне, я не могу. Я перепробовал десятки разных способов ...
У меня есть ссылка, которая должна открыть модал:
и jquery для «прослушивания» щелчка и выполнения некоторых операций, таких как заполнение некоторых текстовых полей данными, поступающими из базы данных. Все работает, как я хочу, но проблема в том, что я не могу установить флажок установлен / снят, используя код. Помоги пожалуйста!
$(function() {
$(".editButton").click(function(){
var id = $(this).data('id');
$.ajax({
type: "POST",
url: "process.php",
dataType:"json",
data: { id: id, op: "edit" },
}).done(function( data ) {
//the next two lines work fine, i.e., it grabs the value from database and fills the textboxes
$("#nome_categoria").val( data['nome_categoria'] );
$("#descricao_categoria").val( data['descricao_categoria'] );
//then I tried to set the checkbox checked (because its unchecked by default) and it does not work
$("#estado_cat").prop("checked", true);
$('#fModal').modal('show');
});
evt.preventDefault();
return false;
});
});
Ответы:
Вы должны использовать функцию «prop»:
До выпуска jQuery 1.6 (см . Ответ пользователя 2063626 ):
источник
Взяв все предложенные ответы и применив их к моей ситуации - пытаясь установить или снять флажок, основываясь на восстановленном значении true (следует установить флажок) или false (не устанавливать флажок) - я попробовал все вышеперечисленное и обнаружил, что с помощью .prop («проверил», true) и .prop («проверил», false ) было правильным решением.
Я пока не могу добавлять комментарии или ответы, но я чувствовал, что это было достаточно важно, чтобы добавить к разговору.
Вот сокращенный код для модификации полного календаря, который говорит, что если полученное значение «allDay» имеет значение true, то установите флажок с идентификатором «even_allday_yn»:
источник
$( "#even_allday_yn").prop('checked', allDay);
$('#even_allday_yn').prop('checked', allDay === true)
будет работать, потому чтоallDay === true
дает логический результат.Чувак попробуйте ниже код:
ИЛИ
ИЛИ
источник
.prop('checked', true)
вместоattr
- я просто столкнулся с той же проблемой, иprop
работает.:checked
псевдо-селектор или другие встроенные функции HTML-флажка, вы должны использовать.prop
..attr()
это путь для более ранних версий,.prop()
для jQuery 1.6+.Атрибут «флажок» ставит галочку, как только он существует. Таким образом, чтобы установить / снять флажок, вы должны установить / снять атрибут.
Для проверки флажка:
Для снятия флажка:
Для проверки проверенного статуса:
Надеюсь, поможет...
источник
Поскольку вы находитесь в модальном окне (динамическом или на странице), вы можете использовать следующий код для достижения вашей цели: (Я столкнулся с той же проблемой на моем сайте, и именно так я ее исправил)
HTML:
КОД:
Выше "kendoWindow" - мое окно (мое динамическое, но я также делаю это при добавлении элемента непосредственно на странице). Я зацикливаюсь на массиве данных («queryToAddToGroup»), чтобы увидеть, есть ли у каких-либо строк атрибут COPY. Если это так, я хочу включить флажок в окне, которое устанавливает этот атрибут, когда пользователь сохраняет из этого окна.
источник
prop
как предполагает этот ответ, ПРАВИЛЬНОГО способа выполнения динамической проверки / снятия флажка jQuery.будет работать. Убедитесь, что истина и ложь не в кавычках.
источник
.prop('checked', true);
Больше информации в этом сообщении.attr()
сделал, как описано.Вы можете написать как приведенный ниже код.
HTML
JQuery
Надеюсь, это сработает для вас.
источник
Если вы хотите использовать эту функцию для сценария GreaseMonkey для автоматической установки флажка на странице, имейте в виду, что простая установка свойства флажка может не вызвать связанное действие. В этом случае, «щелкнув» флажок, вероятно, будет (и установить свойство флажка также).
источник
Find вернет массив, поэтому используйте [0], чтобы получить, даже если есть только один элемент
если вы не используете найти то
это работало нормально в Mozilla Firefox для меня
источник
Работал для меня:
источник
Попробуйте, так как вы, вероятно, используете jQuery UI (если нет, пожалуйста, прокомментируйте)
источник
Вы пробовали запустить
$("#estado_cat").checkboxradio("refresh")
на свой флажок?источник
Это работает.
источник
Я тоже столкнулся с этой проблемой.
а вот мой старый не работает код
вот мой новый код, который работает сейчас:
Итак, ключевым моментом является то, что до того, как оно заработало, убедитесь, что проверенное свойство существует и не было удалено.
источник
Jbookaccess.prop("checked", data.access != 'private');
Это происходит потому , что вы с новейшей версией Jquery
attr('checked')
возвращается в'checked'
то времяprop('checked')
возвращаетсяtrue
.источник
источник
Установите флажок после загрузки модального окна. Я думаю, что вы устанавливаете флажок перед загрузкой страницы.
источник
Я знаю, что это требует решения Jquery, но я просто хотел бы отметить, что очень просто переключить это в простом javascript.
Это будет работать во всех текущих и будущих версиях.
источник
Не забывайте увеличивать атрибуты id и for соответственно. Для динамически добавленного флажка начальной загрузки.
источник