我想
从类.pick
的类中获取文本,并将其填充到下拉列表中#pingList
1)我的变量picker
返回一个长字符串,所以我假设我需要创建一个数组
2)var array
我希望结果为['x','y','z']
,因为我认为这是我下一步所需要的。
3)然后,我想将其添加到设置为text
和val
的下拉列表中。
我很确定我所缺少的是数组部分。寻求帮助。
我的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));
});
答案 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);
答案 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>");
});
答案 3 :(得分:1)
$('.pick').each(function(){
$('#pinglist').append(""+$(this).text()+"");
});
这适用于Above Case。
答案 4 :(得分:1)
我已在您的演示页面中进行了更新.. @ http://jsfiddle.net/UUY5Z/7/
$(".pick").each(function(){
var val = $(this).text();
$('<option>').val(val).text(val).appendTo('#pingList');
});