2013-05-29 54 views
0

我有包含以下元素如何基於文本框值

1)列表框(含的文件名列表)

s1.txt2013 
    s2.txt2013 
    s3.txt2012 
    s4.txt2012 

HTML表單過濾列表框的內容2)一個文本框(用戶輸入圖案說2013)

3)的按鈕

默認列表框中包含上述4個文件名。

當用戶在文本框中輸入一個文本(比如他在文本框中輸入2013),然後按下按鈕,那麼應該根據文本框中提到的文本過濾出列表框內容

所以在這種情況下,點擊按鈕後,列表框應該只包含兩個值(即只有在2013年出現的值)。

s1.txt2013 
s2.txt2013 

我該怎麼做。 我做了以下的方法.. 我正在使用一個JavaScript函數,它將採取一個JavaScript數組中的列表框的所有選項值。現在我無法搜索2013年的數組,並填充相同的列表框中的值包含2013年英寸

任何人都可以告訴我如何做到這一點?

+0

正在使用jquery不是一個選項嗎?你還可以分享你正在使用的功能嗎? –

+0

jQuery是好的或只在JavaScript – PSR

回答

1

也許你需要兩個列表框(選擇標籤),其中一個被隱藏爲主要數據源,其中一個明顯的用戶,可以使用下面的代碼,並添加onclick="buttonClicked()"你按鈕屬性。

function buttonClicked() { 
    var textbox = document.getElementById('YOUR TEXTBOX ID'), 
     listbox = document.getElementById('YOUR SELECT ID'), 
     mainListbox = document.getElementById('YOUR MAIN SELECT ID'); 

    listbox.innerHTML = ''; 
    for (var childIndex = 0; childIndex < mainListbox.children.length; childIndex++) { 
     var child = mainListbox.children[childIndex]; 
     if (child.innerHTML.search(textbox.value) != -1) { 
      option = document.createElement('option'); 
      option.innerHTML = child.innerHTML; 
      listbox.appendChild(option); 
     } 
    } 
}; 
+0

我使用上面的代碼..但它沒有工作..我的事eventlistener部分沒有得到執行。這裏是我使用的代碼。你可以讓它工作嗎? – Rahul

+0

啊哈!你想單擊按鈕來過濾列表,好的,再次檢查我的解決方案,我正在編輯它。 – MostafaR

1

您是否嘗試過使用.test?對我來說這將是一個好方法。

http://www.w3schools.com/jsref/jsref_regexp_test.asp

<script> 

var str="Hello world!"; 
//look for "Hello" 
var patt=/Hello/g; 
var result=patt.test(str); 
document.write("Returned value: " + result); 

//look for "W3Schools" 
patt=/W3Schools/g; 
result=patt.test(str); 
document.write("<br>Returned value: " + result); 

</script> 
相關問題