2014-04-08 177 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")}; 
}); 
相關問題