2012-03-29 151 views
1

您好我在這裏提供一個代碼示例數組:http://jsbin.com/oxowehJavaScript動態填充下拉從值輸入到文本字段

我的問題是,我不能讓正在進入到文本框中的值,這樣,當點擊選擇按鈕,第二個下拉菜單將只顯示與在文本框中輸入內容有關的數據。因爲如果水果輸入到文本框的例子,我想有SUBCAT下拉擁有所有的水果在裏面,而不是使用現有的類別下拉菜單

+0

您的意思是'var x = document.getElemebtById('fruit'); var v = x.val;'? – JonH 2012-03-29 19:54:23

回答

-1

http://jsfiddle.net/goldentoa11/P3hs8/1/

的我添加了一個參數,以此來「SelectSubCat()」之稱txtValue。這樣你就可以傳遞你想要比較的值。

當您調用它時,需要使用文本字段的值調用「SelectSubCat()」函數。我添加了一個ID名爲「selectText」文本字段,當我按一下按鈕我又增加了

onclick="SelectSubCat(document.getElementById('selectText').value)" 

,這將調用該函數與輸入的文本。然後,不使用表單中的值,而是使用傳遞給它的值,並創建適當的子類別。最後,您需要將類別的「onchange」函數更改爲傳遞空字符串。

function SelectSubCat(txtValue) { 

if(txtValue == "") txtValue = document.drop_list.Category.value; 
// This line is to set txtValue to Category's value if the current value is blank. 
// In other words, if it was called by changing the dropdown, 
// give it the drop down's value. 

// ON selection of category this function will work 
removeAllOptions(document.drop_list.SubCat); 
addOption(document.drop_list.SubCat, "", "SubCat", ""); 

if (txtValue == 'Fruits') { 
    addOption(document.drop_list.SubCat, "Mango", "Mango"); 
    addOption(document.drop_list.SubCat, "Banana", "Banana"); 
    addOption(document.drop_list.SubCat, "Orange", "Orange"); 
} 
if (txtValue == 'Games') { 
    addOption(document.drop_list.SubCat, "Cricket", "Cricket"); 
    addOption(document.drop_list.SubCat, "Football", "Football"); 
    addOption(document.drop_list.SubCat, "Polo", "Polo", ""); 
} 
if (txtValue == 'Scripts') { 
    addOption(document.drop_list.SubCat, "PHP", "PHP"); 
    addOption(document.drop_list.SubCat, "ASP", "ASP"); 
    addOption(document.drop_list.SubCat, "Perl", "Perl"); 
} 

} 
+0

當我在文本字段中輸入txtValue時,它不會填充子類別列表,只有在從類別下拉菜單中選擇某些內容時,才能使用它。 – user1301737 2012-03-30 00:09:09

+0

你是否遵循jsfiddle鏈接?我在那裏工作。 編輯:哎呀,沒有意識到,輸入文章的評論。無論如何,請確保您在文本字段中添加了「selectText」的ID,然後像您發佈的代碼一樣將onclick添加到您的按鈕。它應該工作。 – Goldentoa11 2012-03-30 01:27:19

相關問題