Jquery изменение скрытого входного значения, когда флажок установлен и обратный, если не отмечено? - PullRequest
2 голосов
/ 15 марта 2012

Я использую Jquery для изменения значения скрытого ввода на True, когда пользователь устанавливает флажок в другом поле формы. Это выглядит так:

$(function(){
    $('.year').click(function(){
        $('#carsearch').val('True');
    });

Это прекрасно работает, за исключением случаев, когда пользователь передумал и снял флажок, скрытый ввод сохраняет значение True. Я хочу сделать так, чтобы, если они передумают и уберут отметку .year, это изменит значение #carsearch обратно на False.

Я был бы очень признателен за любую информацию о том, как это сделать.

Ответы [ 2 ]

7 голосов
/ 15 марта 2012
$('.year').click(function(){
    $('#carsearch').val( $(this).is(':checked') ? 'True' : 'False' );
})

Возможно, вам лучше слушать «изменение», а не «щелчок».

1 голос
/ 15 марта 2012

Попробуйте это.

$('.year').click(function(){
    $('#carsearch').val( this.checked ? 'True' : '' );
});

Отредактировано по предложению Джаспера.

Предполагая, что True - это значение для флажка и пустое, если нет.

Это называется троичным оператором, более подробную информацию о нем можно найти здесь - http://en.wikipedia.org/wiki/Ternary_operation

...