JQuery получить оставшиеся значения OPTION в формате CSV - PullRequest
1 голос
/ 19 мая 2009

Я хочу вернуть строку в формате CSV, чтобы установить значение поля ввода текста со значениями OPTION из поля SELECT.

$. Map ($ ('# Addedchargeamtid option'), function (e) {var exp = $ (Е) .text (); тревога (Exp); })

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

Кстати, благодаря всем гуру jQuery сегодня, много вопросов по моим вопросам !!!

ОБНОВЛЕНИЕ:

<option value="123">123</option>
<option value="asd">asd</option>
<option value="trr">trr</option>
<option value="345">345</option>

Мне нужно это:

123, ASD, ТИР, 345

Но параметры являются динамическими и могут быть добавлены или удалены, поэтому может быть 1 или 100

NEW:

Ну, это вроде как работает. это дает мне 4 варианта одного и того же элемента, когда я добавляю его только один раз. также не обновляет скрытое текстовое поле со значением CSV

// Add remove button
$('#addButton').click(function() {
   $('#removeButton').show();

   // Add 
   var myOptions = $('#typedchargeamtid').val();
   $.each(myOptions, function() {
      $('#addedchargeamtid').append(
         $('<option></option>').val(myOptions).html(myOptions)
      );
   });

   var txt = $('#addedchargeamtid').val() || [];
      $('#commasepchargeamtid').val(txt.join(','));
   });

Еще раз спасибо

Ответы [ 2 ]

6 голосов
/ 19 мая 2009

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

    var options = Array();
    $('#addedchargeamtid option').each(function(index){
        options[index] = $(this).val();
    });

    $('#commasepchargeamtid').val(options.join(','));
0 голосов
/ 19 мая 2009

Документация JQuery гласит, что функция $ .val () при использовании для выбора вернет список выбранных значений. Я полагаю, что простое использование этого с array.join должно достичь того, что вы ищете.

var txt = $('#addedchargeamtid option').val() || [];
$('#myinputbox').val(txt.join(','));

Или есть функция array.reduce в Javascript 1.8

var txt = $('#addedchargeamtid option').val() || [];
$('#myinputbox').val(txt.reduce(
   function(prev, next, index, array){
       return prev + "," + next;
   },
   '')
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...