флажок отмечен вопрос в Jquery - PullRequest
0 голосов
/ 02 ноября 2019

Я хочу установить флажок checked при загрузке документа, если флажок value="1", и снять флажок, если value="0".

<input type="checkbox" value="1">
<input type="checkbox" value="0">
<input type="checkbox" value="1">

Jquery: , что неверно,перепробовал много вещей

$(document).ready ('input[type="checkbox"]', function(event) {
  if ($(this).val==1) {
    $(this).is(":checked")
  }
});

JSFiddle

Ответы [ 2 ]

4 голосов
/ 02 ноября 2019

.ready() принимает функцию в качестве единственного параметра, который выполняется после того, как DOM готов.

Вам не нужноЛюбое условие, чтобы проверить значение вручную. Вы можете просто использовать атрибут селектор:

$('input[type=checkbox][value=1]').attr('checked', true);

$(document).ready(function() {
  $('input[type=checkbox][value=1]').attr('checked', true);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" value="1">
<input type="checkbox" value="0">
<input type="checkbox" value="1">
1 голос
/ 02 ноября 2019

Есть две ошибки. Сначала эта строка ready ('input[type="checkbox"]', function(event) {. ready получает функцию обратного вызова, и ваш код там неверен. Во вторых в if ($(this).val==1) { val есть метод. Так что для этого потребуется braces. Вы можете использовать только селектор атрибута и пометить его как проверенный. Также $(this).is(":checked") возвращает логическое значение, но он никогда не устанавливает флажок

$(document).ready(function() {

  $('input[type="checkbox"][value="1"]').prop('checked', true)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" value="1">
<input type="checkbox" value="0">
<input type="checkbox" value="1">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...