![](/img/trans.png)
[英]How to change the value of HTML default <select> tag based on custom made <select> option?
[英]How to change HTML select name based on option value
我怎樣才能獲得期權價值。 我想根據選定的選項值更改name="<value>"
。 這樣我就可以將名稱值與onChange=""
一起發送給spring控制器。
我想根據選項選擇值更改select name="report/leavereport/weeklysummery"
。
<select name="" onChange="document.getReportAll.submit()">
<option value="">Select Report Type</option>
<option value="report">TIME REPORT</option>
<option value="leavereport">LEAVE REPORT</option>
<option value="weeklysummery">TIME SUMMARY</option>
</select>
謝謝,
鑒於代碼和現代瀏覽器,最短的變化是:
onChange="this.name = this.value; document.getReportAll.submit()"
......因為屬性事件處理程序中, this
指的是選擇元素和現代的瀏覽器反映期權價值為value
單選擇。
將id設置為select
。
<select id="select"...>...</select>
然后設置select
元素的onchange
事件。 選擇一個選項時會觸發它。
如果選擇器value
未定義,則瀏覽器不支持它,因此可以使所選元素迭代選項並檢查是否包含selected
屬性。 我不使用querySelector
因為較舊的瀏覽器可能不支持它。
var selector = document.getElementById('select');
selector.onchange = function() {
var value = this.value;
if(!value) {
for(var i = 0, op; op = selector.children[i]; i ++) {
// Check if the attribute selected is valid
if(op.getAttribute('selected')) {
value = op.value;
break;
}
}
}
this.name = value;
};
這是一個使用getAttribute
和setAttribute
可能(不顯眼)解決方案。
該腳本監聽任何的點擊options
,然后更新的值name
的屬性select
的基礎上,價值value
的屬性option
。
var options = document.getElementsByTagName('option'); function changeName() { var value = this.getAttribute('value'); window.alert('name = "' + value + '"'); this.parentNode.setAttribute('name',value); } for (var i = 0; i < options.length; i++) { options[i].addEventListener('click',changeName,false); }
<select name=""> <option value="">Select Report Type</option> <option value="report">TIME REPORT</option> <option value="leavereport">LEAVE REPORT</option> <option value="weeklysummary">TIME SUMMARY</option> </select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.