Я пытаюсь использовать jquery, чтобы определить, проверено ли другое текстовое поле в той же группе. В приведенном ниже коде показано, как я пытаюсь получить имя группы, когда установлен флажок в расширенном поле, и используйте его, чтобы проверить, установлен ли соответствующий флажок Basic. Проблема в том, что «basicTrue» всегда присваивается «undefined», независимо от состояния базового флажка.Сложность вставки переменной в атрибут атрибута jquery
<div id="boxes">
<input style="text-align:center;" type="checkbox" name="group1" value="Basic">
<input style="text-align:center;" type="checkbox" name="group1" value="Advanced">
<input style="text-align:center;" type="checkbox" name="group2" value="Basic">
<input style="text-align:center;" type="checkbox" name="group2" value="Advanced">
</div>
$("#boxes").contents().find(":checkbox").bind('change', function(){
val = this.checked;
var $obj = $(this);
if($obj.val()=="Advanced"){
var group = $obj.attr("name");
var basicTrue = $('input[name=group][value="Basic"]').prop("checked");
if(basicTrue)
{
//Do stuff
}
else
{
$obj.attr('checked', false);
}
}
Этот код является доказательством концепции Я использовал, чтобы доказать, что код отформатирован таким образом работает, он делает вернуть статус флажком «Basic» в «group1».
var basicTrue = $('input[name="group1"][value="Basic"]').prop("checked");
Я знаю, что переменной «группа» присваивается правильное имя: например, group1. Есть ли причина, почему использование этой переменной в коде не будет работать?
Спасибо, поймали его после написания вопроса что переменная не принадлежала строке. Однако добавленные котировки для этого не нужны. – Rorrik