Jquery-如何将选定的下拉列值显示为下拉选项

时间:2014-04-08 06:53:26

标签: jquery

我有一个下拉列表,我需要填写选定的值。 这是代码:

<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});

    }); 

这里我正在检查是否选择了下拉列表的值,如果是,我试图将其显示为选定的下拉选项。我怎样才能做到这一点。我试过获取所选选项的值并将其显示为文本。没有工作.. :(任何线索怎么能这样做? 谢谢!

4 个答案:

答案 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")};
});