0
我似乎無法完全弄清楚這一點。動態添加選項到選擇框不要刪除
但是,我的功能正如他們應該那樣工作,有一個差異,當從輸入框動態添加選項值,並且我點擊[list1]中的刪除鍵時,它們不會被刪除。但是,如果選項值是靜態添加的,那麼它們應該按照他們的要求刪除。有任何想法嗎?
我真的很抓撓我的頭。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function add_refdoc() {
var x = document.getElementById("list1");
var option = document.createElement("option");
var input = document.getElementById('refdocs_input')
option.text = input.value
x.add(option,x.option)
x.selectedIndex = x.options.length - 1;
}
function del_refdoc(e) {
var evt = e ? e : event;
var sel = evt.target ? evt.target : evt.srcElement;
if(evt.keyCode && evt.keyCode == 46 || evt.which == 46) {
var val = sel.value;
var opts = sel.getElementsByTagName("option");
if(val != "") {
for(var i=0; i<opts.length; i++) {
if(val == opts[i].value)
sel.removeChild(opts[i]);
}
}
}
}
</script>
</head>
<body>
<input id="refdocs_input" type="text"/>
<input value="add" type="button" onclick="add_refdoc()"/>
<br>
<select onkeydown="del_refdoc(event)" style="width: 250px;" id="list1"></select>
<br><br>
<select onkeydown="del_refdoc(event)" style="width: 250px;" id="list2">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</body>
</html>
添加一些'console.log'的方法來檢查你的變量聲明... – Sebas
可能是由於使用''
它當你點擊輸入鍵而不是下拉菜單時,它似乎可以很好地刪除。見http://jsfiddle.net/FLRD6/ – davy