Отправить флажок с помощью jQuery - PullRequest
0 голосов
/ 10 ноября 2011

В форме, над которой я работаю, есть много флажков.Я хочу использовать jquery ajax для публикации значения каждый раз, когда пользователь нажимает на флажок.Это должно быть что-то вроде кода ниже, но я не уверен.Это не работает.

<script type="text/javascript" >
$(function() {
$(".autosubmit_checkbox").click(function() {

    var value = $(this).val();
    var name = $(this).attr('name');;
    var dataString = 'value=' + value + '&name=' + name;

    $.ajax({
        type: "POST",
        url: "URL",
        data: dataString,
        success: function(){
            something;
        }
    });

    return false;
});
});
</script>

Ответы [ 4 ]

0 голосов
/ 10 ноября 2011

Используйте $(this).is(':checked') вместо $(this).val() и избегайте возврата false, так как это предотвратит фактическую проверку флажка (если это не то поведение, которое вам нужно).

0 голосов
/ 10 ноября 2011
var value = ($(this).is(':checked')) ? 1 : 0;
0 голосов
/ 10 ноября 2011

Если вы хотите передать значение флажка в строке запроса «обычным» способом, вы должны создать один аргумент запроса:

var dataString = $(this).attr('name') + "=" + encodeURIComponent($(this).val());

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

0 голосов
/ 10 ноября 2011
<script type="text/javascript" >
$(function() {
$(".autosubmit_checkbox").click(function() {

    var value = $(this).is(':checked')?"1":"0";
    var name = $(this).attr('name');;
    var dataString = 'value=' + value + '&name=' + name;

    $.ajax({
        type: "POST",
        url: "URL",
        data: dataString,
        success: function(){
            something;
        }
    });

    return false;
});
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...