2010-09-25 45 views
2

我想使選項<選擇>顯示或隱藏程序(JS),這有可能嗎?如何使<option> s的<select>顯示或隱藏使用JavaScript?

它就像在StackOverFlow的首頁有趣的標籤,當你鍵入一些單詞時,下拉列表將展開並給你建議。

ps.我知道StackOverFlow在這種情況下沒有使用select,無論如何只是以它爲例。

+1

至少使用輸入文本框,AJAX當用戶鍵入中說2個字符,然後將結果輸出作爲一個列表(ul)格式化爲使用CSS的下拉菜單。 – Gal 2010-09-25 15:13:41

+0

是的,謝謝,這也是我認爲是最好的解決方案,我也注意到,在我上面提到的情況下,StackOverFlow使用這種方法而不是< select >。 – DiveInto 2010-09-26 12:38:18

+0

看到這個來隱藏/顯示選項:http://stackoverflow.com/a/21199399/32429 – 2014-01-18 02:54:21

回答

1

您可以在selectoptions集合中添加或刪除項目。

這裏是一個例子,其去除一個項目,並添加另一:

<html> 
<head> 
<title></title> 
<script type="text/javascript"> 

function init() { 
    // get a reference to the element 
    var sel = document.getElementById('sel'); 
    // remove an option 
    sel.options[2] = null; 
    // create a new option and add to the select 
    var opt = document.createElement('option'); 
    opt.value = '5'; 
    opt.text = 'five'; 
    sel.options.add(opt); 
} 

</script> 
</head> 
<body onload="init();"> 
<form> 

<select id="sel"> 
    <option value="0">zero</option> 
    <option value="1">one</option> 
    <option value="2">two</option> 
    <option value="3">three</option> 
    <option value="4">four</option> 
</select> 

</form> 
</body> 
</html> 
+1

似乎你沒有得到我的觀點,無論如何,感謝您的答覆。 – DiveInto 2010-09-26 12:39:41

+1

@DiveInto:在這種情況下,我仍然沒有。你在說什麼?它是什麼? – Guffa 2010-09-26 12:52:33

0
function getCatListdef(sel) 
{ 
    var index = ajax.length; 
    ajax[index] = new sack(); 
    ajax[index].requestFile = 'data.php?cat_code='+sel; 
    ajax[index].onCompletion = function(){ createCities(index) }; 
    ajax[index].runAJAX();  
} 
+1

此答案有幫助嗎?什麼是'ajax'?什麼是'麻袋'? – 2011-05-03 23:27:05