JQuery从列表框中获取所选项目并用逗号分隔

时间:2011-09-12 13:15:11

标签: jquery html loops

任何人都可以提供更多帮助我在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. 分割所选项目的价值
  4. 循环切换并为每个项目设置变量,即国家:英国邮政编码:TN31 7DB等
  5. 任何人都可以帮助我吗?

    由于

5 个答案:

答案 0 :(得分:7)

您想在点击或提交时获取数据吗?

    $('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??
    });

但这不是一个好主意,考虑到你的“数据”结构不能改变(即缺少字段等) - 因为它会破坏索引....

答案 1 :(得分:4)

jquery有一个选定值的选择器。

所以使用

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

然后拆分空间

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

并在你的桌子上循环

for(i = 0 ; i < table.length; i++) {
    // dosomething with table[i]
}

答案 2 :(得分:4)

假设你使用的是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]);
      }

  }

提供帮助

答案 3 :(得分:3)

尝试 $。map()以获取列表

中的所有选定项目
var selectedValues = $.map($('#ddlList option:selected'), function (element) {
        return element.value;
    }); 

答案 4 :(得分:2)

试试这个简单,在下拉列表框中调用此函数onchange()事件。

function FuncFilter(){

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

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

 }