Флажок условной проверки в jQuery - PullRequest
0 голосов
/ 08 марта 2012

Я пытаюсь создать форму, которая проверяет выпадающий список 1, только если флажок не установлен .Я получил следующий код:

HTML

<label for="chk">Checkbox</label>
    <input type="checkbox"  class="chk" ID="chkID" name="mychkBox" checked="checked" value="true"/>

<select ID="dropdownID" name="myDropdown" title="please select something">
    <option value="0">-Select-</option>
        <option value="1">-Option1-</option>
</select>

Javascript

$("#my-form").validate({
        rules: {
            myDropdown: {
                  required: "#chkID:unchecked",
                                  min:1
            }

        }//rules

});// end
$("#chkID").click(function() {          
      $("#dropdownID").valid();
      alert('gothere');
});

проблема в том, что это нене работает, форма все еще представляет.Кто-нибудь знает, что я пропускаю / делаю неправильно?

-edit- Нужно ли проверять что-либо, если JSON заполняет раскрывающийся список?будет ли это работать дама путь ?.Причина, по которой я спрашиваю, заключается в том, что форма работает так, как задумано, до появления каких-либо ошибок при проверке, но впоследствии она требует раскрывающегося списка, даже если флажок установлен или не отмечен.Это именно то, что я пытаюсь сделать, хотя ...

-edit- Nevermind, я просто спрятал / отключил оскорбляющий выпадающий список, когда флажок установлен, чтобы он не проверял

, но япометил ответ как "отвеченный", так как я забыл упомянуть о динамически загружаемом контенте / HTML.

Ответы [ 2 ]

3 голосов
/ 08 марта 2012

В вашей HTML-разметке ваш элемент select называется myDropdown, а в коде jQuery вы называете его details.Попробуйте изменить конфигурацию проверки на:

rules: { myDropdown: { required: "#chkID:unchecked" } }

Редактировать

Кроме того, в параметре по умолчанию в элементе выбора должно быть пустое значение.В противном случае правило required всегда будет выполнено:

<option value="">-Select-</option>

Я создал jsFiddle, который должен выполнить то, что вам нужно: http://jsfiddle.net/BGWbu/

0 голосов
/ 08 марта 2012

Я не уверен, что есть «непроверенный» селектор: S

try

"#chkID:not(:checked)"

также может потребоваться блок if, valid () возвращает логический

if($("#dropdownID").valid()){
    alert('goThere');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...