У меня есть форма с несколькими флажками и выберите вариант. Я хочу включить опцию выбора, если установлен флажок - PullRequest
0 голосов
/ 16 июня 2020

У меня есть форма с несколькими полями. В каждом поле есть опция выбора и флажки. Я хочу включить опцию выбора, когда установлен флажок. Проблема в том, что когда я устанавливаю флажок, все отключенные параметры выбора включаются.

$("input:checkbox").click(function() {
    if ($(this).is(":checked") === true) {
        var group = "input:checkbox[name='" + $(this).attr("name") + "']";
        $(group).attr("checked", false);
        $(this).attr("checked", true);
    } else {
        $(this).is(":checked", false);
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />
<p>&nbsp;</p>
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />

1 Ответ

0 голосов
/ 17 июня 2020

Предполагая, что ваш html выглядит так:

<div>
    <input type="checkbox" class="radio" value="1" name="fooby[1][]" />
    <select disabled="true">
        <option>foo</option>
        <option>bar</option>
    </select>
</div>
<div>
    <input type="checkbox" class="radio" value="1" name="fooby[1][]" />
    <select disabled="true">
        <option>foo</option>
        <option>bar</option>
    </select>
</div>
<div>
    <input type="checkbox" class="radio" value="1" name="fooby[1][]" />
    <select disabled="true">
        <option>foo</option>
        <option>bar</option>
    </select>
</div>

Следующий код активирует выбор, сгруппированный с флажком:

$("input:checkbox").click(function() {
    var checkbox = $(this);
    if (checkbox.is(":checked") === true) {        
        checkbox.parent().find("select").prop("disabled", false);
    } else {
          checkbox.parent().find("select").prop("disabled", true);
    }
});

Обратите внимание, что могут быть лучшие способы чтобы найти поле выбора (например, соответствующий идентификатор), но это должно дать вам представление о том, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...