Как проверить, установлен ли флажок в этом примере (javascript / jQuery.) - PullRequest
0 голосов
/ 05 декабря 2011

Мне нужно проверить, установлен ли флажок или нет, чтобы отобразить сообщение об ошибке. До сих пор я думал, что это должно работать (если не проверено, то это должно быть пустым, я думал).

CODE

<span id="sc_info" style="float: right; padding-right: 5px;">

<input type="checkbox" name="terms" id="sc_terms" value="" checked="checked" />

<br /><label class="error" for="body" id="terms_error">This field is required.</label>
</form>

<script>
$(document).ready(function() {
    //Story Form
    $('.error').hide();  
    $(".button").click(function() {

    $('.error').hide();  
    var terms = $("input#sc_terms").val();  
    if (terms == "") {  //if is not checked
    $("label#terms_error").show();  //show error message
    $("input#sc_terms").focus(); //focus on an empty element
    return false;  
}  
});  
});
</script>

Но этот код не работает. Может кто-нибудь предложить, как проверить, если флажок установлен?

Ответы [ 2 ]

4 голосов
/ 06 декабря 2011

Используйте селектор jQuery :checked:

if ($('#sc_terms').is(':checked')) {
    // Checkbox is checked, do stuff
}
else {
    // Checkbox is not checked, do stuff
    $("label#terms_error").show();  //show error message
    $("input#sc_terms").focus();
}

Если вы просто хотите посмотреть, не отмечен ли он:

if ($('#sc_terms:not(:checked)')) {
        // Checkbox is checked, do stuff
        $("label#terms_error").show();  //show error message
        $("input#sc_terms").focus();
 }

Примечание: Поскольку вы используете селектор идентификатора, предварительная настройка его на input или label не требуется.

2 голосов
/ 06 декабря 2011

что-то вроде:

if( $("input#sc_terms").is(":checked") )
     // is checked

и не проверено:

if( $("input#sc_terms").is(":not(:checked)") )
     // not checked
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...