添加具有特定类的文本到下拉列表<select> </select>

时间:2013-09-13 11:03:55

标签: javascript jquery

我想

从类.pick的类中获取文本,并将其填充到下拉列表中#pingList

1)我的变量picker返回一个长字符串,所以我假设我需要创建一个数组 2)var array我希望结果为['x','y','z'],因为我认为这是我下一步所需要的。 3)然后,我想将其添加到设置为textval的下拉列表中。

我很确定我所缺少的是数组部分。寻求帮助。

我的Jquery代码和实时演示 http://jsfiddle.net/UUY5Z/1/

// Get text from Pick CLass
var picker = $('.pick').text();

// Make an Array from string result above 
var array = //??

// Add this to the dropdown
$.each(array, function (val, text) {
$('#pingList').append($('<option></option>').val(val).html(text));
});

5 个答案:

答案 0 :(得分:3)

.text()方法将所有选定元素的textContent作为一个字符串返回,您可以使用.map()方法返回一个数组:

var picker = $('.pick').map(function(i, elem) {
     return "<option value='"+i+"'>" + 
               (elem.textContent || elem.innerText) + //  == $(elem).text()
            "</option>";
}).get(); // array of options (string)

$('#pingList').append(picker);

http://jsfiddle.net/JJsRd/

答案 1 :(得分:1)

你可以像这样实现同样的目标。 无需制作阵列。

$.each($('.pick'), function (val, text) {
    $('#pingList').append($('<option></option>').val($(this).text()).html($(this).text()));
});

JSFiddle For Same http://jsfiddle.net/sushilbharwani/uNpND/

答案 2 :(得分:1)

这是另一种解决方案,使用$.each()

$.each($('.pick'),function(i, elem){
   $('#pingList').append( "<option value='"+i+"'>"+ $(elem).text() +"</option>"); 
});

DEMO HERE

答案 3 :(得分:1)


$('.pick').each(function(){

   $('#pinglist').append(""+$(this).text()+""); 

});

这适用于Above Case。

http://jsfiddle.net/sushilbharwani/uNpND/

答案 4 :(得分:1)

  

我已在您的演示页面中进行了更新.. @ http://jsfiddle.net/UUY5Z/7/

$(".pick").each(function(){
    var val = $(this).text();
    $('<option>').val(val).text(val).appendTo('#pingList');
});