JQuery Получить выбранный элемент из списка и разделить запятой - PullRequest
2 голосов
/ 12 сентября 2011

Может кто-нибудь предложить дополнительную помощь по этому вопросу У меня есть настройки кода на jsfiddle в ...

http://jsfiddle.net/justinerswell/feDTU/

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

Спасибо

Оригинальный вопрос

Привет, у меня есть список, возвращенный на странице с несколькими результатами, которые анализируются в виде строки в значение ...

<option value="1 Corn Exchange, The Strand, RYE, East Sussex, TN31 7DB, UNITED KINGDOM">

Используя JQuery, мне нужно сделать пару вещей ..

  1. Получить выбранное значение
  2. Разделить значение выбранного элемента по запятой
  3. Проходить в обратном порядке и устанавливать переменные для каждого элемента, т.е. страна: Великобритания. Почтовый индекс: TN31, 7 дБ и т. Д.

Кто-нибудь может мне помочь?

Спасибо

Ответы [ 5 ]

7 голосов
/ 12 сентября 2011

Хотите ли вы получать данные по клику или отправить?

    $('select').click( function() {

        var selected = $(this).find(':selected').text();

        var substr = selected.split(',');
        var product = substr[0];
        var city = substr[1];
        var postcode = substr[2];
        var country = substr[3];

        //DO SOMETHING WITH IT??
    });

Но это не очень хорошая идея, учитывая, что ваша структура данных не может измениться (т. Е. Пропущены поля и т. Д.)) - так как он сломается по индексам ....

4 голосов
/ 17 февраля 2012

предположим, что если вы используете Html Listbox, попробуйте это

 <select id="Select1" size="4" multiple="multiple" onchange="Check(this);">
 <option value="1">item 1</option>
 <option value="2">item 2</option>
 <option value="3">item 3</option>
 <option value="4">item 4</option>
 <option value="0">All</option>
</select>

javascript

 function Check(selectObject)
  {
   var items = new Array();
   for (var i = 0, j = selectObject.options.length; i < j; i++)
   {
       if (selectObject.options[i].selected)
       {
           items.push(selectObject.options[i].value);
       }
   }
   // selectObject.id holds the "id"
   var itemsToString = items.toString();
   alert(itemsToString);
   //split and get values.
   var s = itemsToString.split(',');
   for(var k=0; k<s.length; k++)
      {
           alert(s[k]);
      }

  }

Прыгает, его подсказки

4 голосов
/ 12 сентября 2011

jquery имеет селектор для выбранного значения.

, поэтому используйте

var selectedValue = $('#myselect option:selected').val();

затем разделить на пробел

var table = selectedValue.split(',');

и петля на вашем столе

for(i = 0 ; i < table.length; i++) {
    // dosomething with table[i]
}
3 голосов
/ 04 марта 2014

Попробуйте $. Map () , чтобы получить все выбранные элементы в списке

var selectedValues = $.map($('#ddlList option:selected'), function (element) {
        return element.value;
    }); 
2 голосов
/ 05 февраля 2013

Попробуйте это просто, вызовите эту функцию onchange () событие выпадающего списка.

function FuncFilter () {

     var selectedText = $("#DrpDatefilter").find(':selected').text();
     alert(selectedText );

    **Or** 
     var selectedValue = $("#DrpDatefilter").find(':selected').val();
     alert(selectedValue );

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