Как получить значения флажка jquery в двух отдельных массивах, один связывается с проверенными значениями, а другой не проверяется - PullRequest
0 голосов
/ 03 февраля 2011

Ниже приведен код, через который я получаю значения отмеченных полей ввода:

$('#agent_region').click(function()
         {
           var ids = $('#agent_favourites_form  input:checked').map(function(){
             return this.value;
           }).get();
           $.ajax({
             type: "POST",
             url: "set_agent_favourites.php",
             data:  {map: ids},
             success: function(msg){
               $.jnotify(msg, 3000);
             }
           });
           return false;
         });

Я хочу также получить значения непроверенных флажков и передать их, я не знаю, как передать две данные: {map : ids}, {map1 : ids1} или что-то еще. Пожалуйста помоги.

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Используйте проверенный селектор jQuery

См .: http://api.jquery.com/checked-selector/

$(function() {
    var checked = {};
    var unchecked = {};
    $('input[type=checkbox]').each(function() {
        if ($(this).is(':checked')) {
            checked[$(this).attr('name')] = $(this).val();
        } else {
            unchecked[$(this).attr('name')] = $(this).val();
        }
    });

    // Only works with FireBug enabled
    console.debug(checked);
    console.debug(unchecked);
});

Демо: http://jsfiddle.net/x3TcD/

1 голос
/ 03 февраля 2011

Вы можете использовать input:not(:checked) и просто добавить его в свой объект данных:

$('#agent_region').click(function()
         {
           var ids = $('#agent_favourites_form  input:checked')
                       .map(function(){
                         return this.value;
                       }).get();
           var nonids = $('#agent_favourites_form  input:not(:checked)')
                          .map(function(){
                            return this.value;
                          }).get();
           $.ajax({
             type: "POST",
             url: "set_agent_favourites.php",
             data:  {map: ids, unmap: nonids},
             success: function(msg){
               $.jnotify(msg, 3000);
             }
           });
           return false;
         });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...