отображать несколько значений флажков (из модального окна) при вводе текста через jQuery - PullRequest
0 голосов
/ 15 марта 2011

EDIT ///////

В дополнение к приведенному ниже полезному совету выясняется, что еще одной ошибкой было добавление скобок "[]" в атрибут имени моего флажка.

    <input type="checkbox" name="neighborhood_id[]"/>

Это, видимо, испортило мой селектор jquery.

////// КОНЕЦ РЕДАКТИРОВАНИЯ

Я просмотрел несколько связанных тем, чтобы найти ответ на этот вопрос, и оказался пустым. Я уверен, что это где-то там, но это так просто, нужно, чтобы кто-то ответил на это.

Я хочу получить значения из нескольких выбранных флажков (все с одним атрибутом имени) и отобразить их в текстовом поле. Не уверен, если это бросает гаечный ключ, но флажки изначально скрыты в модальном окне. Моя попытка работает. Я также добавил .get () и toArray () к функции карты, но безуспешно.

 $('[name=neighborhood_id[]]').change(function(){
    $('#area').val(function(){
        return $('[name=neighborhood_id[]]:checked').map(
            function(){return $(this).val()});
            });
    });

Проблема, с которой я сталкиваюсь, заключается в том, что ввод текста по умолчанию следующий: [объект] и он не обновляется, когда я проверяю чекбоксы.

Я предполагаю, что это может быть связано с возвратом значений из функции each / map в виде массива Object

спасибо

Ответы [ 2 ]

0 голосов
/ 16 марта 2011

Вы определенно на правильном пути, просто нужно внести несколько изменений:

$('input[name=neighborhood_id]').change(function() {
  $('#area').val(
      $('[name=neighborhood_id]:checked').map(function() {
          return $(this).val();
      }).get().join(',')
 );

});

Я думаю, что ваша основная проблема заключалась в том, что вы отправляли анонимную функцию на $('#area').val

Рабочая версия: http://jsfiddle.net/uZcaT/

0 голосов
/ 16 марта 2011

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

var sOutput;
$('input[name=neighborhood_id]').each(function() {
    sOutput+=$(this).children('option:selected').val()+'\r\n';
});
$('#area').val(sOutput);

Если это не сработает, вы можете опубликовать свой HTML-код в JSfiddle.net?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...