2014-04-08 137 views
1

我有一个下拉列表,我需要填充选定的值。 下面是它的代码: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}); 

    }); 

这里如果选择下拉菜单中的值我检查,如果是的话我想展示作为选择的下拉选项。我怎样才能做到这一点。我尝试获取所选选项的值并将其显示为文本。没有工作.. :(任何线索如何才能做到这一点? 谢谢!

回答

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

+0

感谢,它的工作.... – user2942566

0

用文本方法而不是值来试试这个:

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

    }); 
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")}); 
}); 
0
var regions=$('#selectedRegion>option').toArray().map(function(e){ 
    return {id: e.value, name: $(e).text(), select: $(e).is(":selected")}; 
}); 
相关问题