countries()
{
return [{"name":"Afghanistan","code":"AF"},{"name":"Albania","code":"AL"},...];
}
handleCountryChange(e)
{
console.log('NAME -> ' + e.target.value, ', CODE -> ' + e.target.id);
// Outputs: NAME -> Afghanistan, CODE -> country
}
render()
{
return (
<select className="form-control country-name" id="country"
onChange={e => this.handleCountryChange(e)} >
{countries().map((country, i) => { return (
<option id={country.code} value={country.name} key={i} >
{country.name}
</option>
)})}
</select>
);
}
對select元素使用onChange處理程序時,我試圖檢索選項的屬性。 country code
和country name
分別存儲在其id和value屬性中。我得到以下結果獲取選擇字段中選定選項的屬性
輸出:名稱 - >阿富汗,CODE - >國家
這意味着我得到來自所選擇的選項選擇元素的值和標識。如何從其上發生的事件中檢索活動<option>
元素的屬性,而不是select元素本身?
那太好了。將整個對象發送到元素的值是絕對實用的。謝謝,Kochar。 – anonym