我有一个下拉列表,我需要填写选定的值。 这是代码:
<select name="selectedRegion" id="selectedRegion">
<option>Washington DC</option>
<option>New york</option>
<option>Portland</option>
</select>
以下是js代码:
var regions = [];
var values = $('#selectedRegion').children('option').each(function(i, e){
regions.push({id:e.value, name:$(e).html(),select:$(e).is(':selected')?true:false});
});
这里我正在检查是否选择了下拉列表的值,如果是,我试图将其显示为选定的下拉选项。我怎样才能做到这一点。我试过获取所选选项的值并将其显示为文本。没有工作.. :(任何线索怎么能这样做? 谢谢!
答案 0 :(得分:0)
试试这个,
var regions = [];
$('#selectedRegion').children('option').each(function(i, e){
regions.push({id:e.value, name:$(e).text(),select:this.selected});
});
var values=$('#selectedRegion').val() ? true : false;
alert(values);
将 html 改为
<select name="selectedRegion" id="selectedRegion">
<option value="">Select</option>
<option value="W">Washington DC</option>
<option value="N">New york</option>
<option value="P">Portland</option>
</select>
<强> Live Demo 强>
答案 1 :(得分:0)
尝试使用text方法而不是value:
var regions = [];
var values = $('#selectedRegion').children('option').each(function(i, e){
regions.push({id:$(e).text(), name:$(e).text(),select:$(e).is(':selected')?true:false});
});
答案 2 :(得分:0)
这项任务没有任何意义。
var values = $('#selectedRegion').children('option').each(function(i, e){
regions.push({id:e.value, name:$(e).html(),select:$(e).is(':selected')?true:false});
});
您正在为变量分配循环。
你可以这样做,
$('#selectedRegion').children('option').each(function(i, e){
var _t = $(this);
regions.push({id: _t.value, name: _t.text(), select: _t.is(":selected")});
});
答案 3 :(得分:0)
var regions=$('#selectedRegion>option').toArray().map(function(e){
return {id: e.value, name: $(e).text(), select: $(e).is(":selected")};
});