2011-12-28 65 views
0

我想創建以下如何從html選擇數組選項中提取信息?

<select name="tablename"> 
    <option value="['one','two','three']">Option one</option> 
</select>  

一個HTML選擇陣列選項在javascript

var myArray = new Array(); 

myArray[0] ="one"; 
myArray[1] ="two"; 
myArray[2] = "three"; 

option.value=myArray; 

但是當我嘗試使用

var myArray2 = new Array(); 
myArray2 = $('select[name="tablename"]').val(); 
val=myArray2[0]; 

它從它那裏得到價值沒有返回任何東西......任何錯誤

回答

2

選項值c僅限商店字符串。您可以將數組存儲爲一些字符串形式,並將其解析爲JS。例如:

<select name="tablename"> 
    <option value="['one','two','three']">Option one</option> 
</select> 

// JS 
var myArray2; 
myArray2 = $('select[name="tablename"]').val(); 
myArray2 = eval(myArray2); 
alert(myArray2[0]); 

工作演示:http://jsfiddle.net/kZape/

0

首先,編輯您的標記。

<option value="[one,two,three]">Option one</option> 

獲取選項標籤的值。

v = $('option').val(); 

'v'將是字符串對象中的「[一,二,三]」。

v = v.slice(1, -1); 

那麼,它是 「一,二,三」 現在把它分解,

yourArray = v.split(','); 

最後你得到yourArray [ 「一」, 「二」, 「三」]
: )

1

我不知道正是你想做的事,但如果你想數組["one","two","three"]存入單OPTION,然後讀取從JavaScript這個數組,你可以做下一個:

HTML:

<select name="tablename"> 
    <!-- IMPORTANT COMMENT: use single quotes for value='' and double quoutes for values in array --> 
    <option value='["one","two","three"]'>Option one</option> 
</select> 

的jQuery:

// reading array from OPTION 
var myArray2 = jQuery.parseJSON($('select[name="tablename"]').val()); 
// myArray2 now is an javascript Array 
console.info(myArray2); 

UPDATE

您可以使用本地JavaScript JSON對象的方法,以數組轉換成字符串,然後保存爲HTML選項或選擇值;或值轉換選項,或選擇到陣列(如果你不需要支持IE版本低於8):

// store Array into OPTION value 
myOption.value = JSON.stringify(["one","two","three"]); 

// read Array from SELECT value from your example 
var newArray = JSON.parse($('select[name="tablename"]').val()); 

更多aboute JSON.parse()JSON.stringify在MSDN:http://msdn.microsoft.com/en-us/library/cc836458%28v=VS.94%29.aspx和MDN:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON

相關問題