2010-06-20 50 views
3

我試圖讓用戶能夠爲我的應用程序創建自定義列表,通過在文本區域中插入他的選擇,每行都被視爲一個選擇,使用\ n(enter)作爲分隔符,我需要允許用戶在多行中輸入一個選項,任何人都可以提供幫助?html中的textarea的新分隔符

<textarea></textarea> 

用戶輸入: AA BB 立方厘米 與 在文本區域中輸入,然後我處理它們分裂他們在進入分離器,所以我有在列表3級的選項:1-AA,2- bb和3-cc,但是我需要做的是aa,bb是第一個選項,cc第二個選項,我需要新的分隔符,我需要更多的想法?

+2

我不明白。你能澄清你想做什麼嗎? – 2010-06-20 13:44:07

+0

我還是不明白你想做什麼。使用回車鍵作爲分隔符有什麼問題? – 2010-06-20 14:04:33

+0

沒有錯,但我需要允許用戶從textarea添加多行選項 – ama 2010-06-20 14:38:06

回答

0

此代碼將允許選擇要在多條線路進入,一旦你按下輸入兩倍選項創建:

的JavaScript

<script type="text/javascript"> 
    var LastKeyCode=-1; 

    function updateOptions(e) { 
    if (e.keyCode) { 
     var KeyCode=e.keyCode; 
    } else { 
     var KeyCode=e.charCode; 
    } 

    if (KeyCode==13 && LastKeyCode==13) { // Enter? 
     var RowsDataAry=document.getElementById('inputfield').value.replace(/\r\n/g,"\n").split(/\n{2,}/g); // Fix IE CRs and split the textarea input 

     document.getElementById('choices').options.length=0; // Empty select 

     for (RowID in RowsDataAry) { 
     var TextVal=RowsDataAry[RowID].replace(/\n/g,", ").replace(/, $/,""); // Set commas and remove the last comma 

     document.getElementById('choices').options.length++; 
     document.getElementById('choices').options[RowID].value=RowID; // Add option value 
     document.getElementById('choices').options[RowID].text=TextVal; 
; // Add option text 
     } 
    } 

    LastKeyCode=KeyCode; 
    } 
</script> 

HTML

<select id="choices" size="20"></select> 

<textarea id="inputfield" onkeypress="updateOptions(event)" cols="40" rows="20"></textarea> 

經過Firefox 3.6.3,Opera 10.53,IE 8和Iron 5.0.380的測試。

+0

,這將使我的每一行結束與輸入作爲選項,wt我需要的是允許兩個或三個行每個結束與輸入作爲一個選項 – ama 2010-06-20 14:36:32

1

你可以使用任何你喜歡的分隔符。例如空行(如分隔章節時)或逗號或分號。任何不屬於要輸入文本的字符(或字符序列)。

只記得告訴用戶使用什麼作爲分隔符。

2

我想你是說你需要用戶在textarea中輸入可列表項目,並且需要支持跨多行顯示單個選項的功能。

正如您所看到的,使用單個換行符作爲項目分隔符不起作用 - 您無法區分每行兩個項目和兩行顯示的單個項目。

使用兩個換行符而不是一個作爲項目分隔符。

例輸入:

Item One 

Item Two line 1 
Item Two line 2 

Item Three
+0

是的,我知道你在說什麼,但我需要更多有趣的想法給用戶和客戶..反正 – ama 2010-06-20 14:21:21

+2

@ama:爲什麼在你的問題中沒有指定你想/有趣/想法而不是解決你的問題? – 2010-06-20 14:35:04