2010-03-15 62 views
1

我有用戶在其中輸入下列數據的文字區域:如何與某些條件讀textarea的

  1. 保羅:九,羅馬
  2. 珍妮:五,印度
  3. 鮑勃

我想要讀取數據並將冒號前的值存儲在數組中,並將值存儲在另一個數組中的冒號後面。請注意,用戶可能不像上面的情況3那樣輸入冒號後的值。在這種情況下,該值必須存儲在第一個數組中,就像它在冒號之前一樣。

我該如何使用jQuery來做到這一點?

+1

這是一個小問題,但作爲用戶界面,您可以以更簡單的方式做到這一點...... – Paddy 2010-03-15 12:44:36

+0

當用戶在不插入新行的情況下鍵入所有三行時會發生什麼? – rahul 2010-03-17 07:33:38

回答

0

事情是這樣的:每行分別

var txt = $('#your_array').text(); 
var lines = txt.split('\n'); 
var data = new Array(); 
for(var i=0;i<lines.length;i++){ 
    var o = {}; 
    var array1 = txt.split(':'); 
    o.name = array1[0]; 
    if(array1.length > 1){ 
     var array2 = array1[1].split(','); 
     o.number = array2[0]; 
     if(array2.length > 1){ 
      o.location = array2[1]; 
     } 
    } 
    data.push(o); 
} 

/* 
    data = [ 
     { name: "Paul", number: "Nine", location: "Rome" }, 
     { name: "Jenny", number: "Five", location: "India" }, 
     { name: "Bob" } 
    ]; 
*/ 
  • 進程。
  • 處理任何字段中缺失的數據。
+0

確實有幫助,但var txt = $('#your_array')。text();必須替換爲var txt = $('#your_array')。val(); – learning 2010-03-17 11:55:44

1

您可以使用文本()和分裂

var arrDetails = $("#txtareaid").text().split(':'); 

//arrDetails[0] will get the string before colon 
//arrDetails[1] will get the string after colon 

如果沒有冒號,然後arrDetails[1]將不確定