Я относительно новичок в Jquery и боролся с этой проблемой в течение последнего дня или около того.Я пытаюсь сделать что-то, казалось бы, простое, но я не могу понять это.У меня есть два одинаковых флажка с множеством записей, и конечный пользователь может выбрать несколько вариантов в любом из них.Если значение в checkboxa выбрано, я хочу, чтобы оно немедленно выбрало идентичное значение в checkboxb.Я исследовал много решений и попробовал следующее:
$(document).ready(function (){
$("#id_checkboxa").change(function() {
$('#id_checkboxa input[type="checkbox"]:checked').each(function(){
$('#id_checkboxb input[type="checkbox"]').eq($(this).index()).prop('checked',true);
});
});
});
Мой HTML.Я использую шаблон Django и формы с набором запросов для выбора, поэтому я пытаюсь использовать идентификатор с помощью Jquery для манипуляции флажками.
<div class="spacer34">
<label class="title130">Checkboxa:</label>
<div class="spacer68">
<div class="spacer73">
{{ form.checkboxa }}
</div>
</div>
</div>
Я нашел подход выше, ссылаясь на следующий кодфрагмент кода SO .. Копировать состояние проверки набора флажков в другой набор полей
Выше будет скопировано первое значение, которое я выбрал в checkboxa, в верхнюю часть флажкаb, но это все.Я подозреваю, что мне нужно пройтись по индексу или создать массив, чтобы попытаться найти проверенные значения, но я не могу с этим разобраться.Я определенно хочу использовать подход JQUERY ID в решении этой проблемы.Заранее спасибо за любые мысли.
После экспериментов я дошел до ...
$(document).ready(function (){
$("#id_checkboxa").change(function() {
console.log("Hello world!");
});
});
И моя консоль покажет привет мир!
Когда я пытаюсь сделать что-то вроде ...
$(document).ready(function (){
$("#id_checkboxa").change(function() {
console.log("Hello world!");
let selectedValA = $(this).val();
let isAChecked = $(this).prop("checked");
$(`#id_checkboxb[value=${selectedValA}]`).prop("checked", isAChecked);
});
});
, я получаю следующую ошибку:
jquery.min.js:2 Uncaught Error: Syntax error, unrecognized expression: #id_checkboxb[value=]
at Function.fb.error (jquery.min.js:2)
at fb.tokenize (jquery.min.js:2)
at fb.select (jquery.min.js:2)
at Function.fb [as find] (jquery.min.js:2)
at n.fn.init.find (jquery.min.js:2)
at new n.fn.init (jquery.min.js:2)
at n (jquery.min.js:2)
at HTMLUListElement.<anonymous> ((index):85)
at HTMLUListElement.dispatch (jquery.min.js:3)
at HTMLUListElement.r.handle (jquery.min.js:3)
Я знаю из предыдущих экспериментов, что Django формирует и JQueryможет быть проблемой, чтобы подключиться только время от времени.Заранее благодарим за любые другие мысли.
Если я сделаю следующее ...
$(document).ready(function (){
$("#id_checkboxa").change(function() {
console.log("Hello world!");
let selectedValA = $(this).val();
let isAChecked = $(this).prop("checked");
$('#id_checkboxb input[type=checkbox]').prop('checked', true);
});
});
В ту минуту, когда я выбираю значение флажка в флажке, все значения флажка выбираются.Я пытаюсь просто получить значение, которое я выбрал в checkboxa, чтобы появилось n checkboxb, а не все флажки.