簡體   English   中英

將一組值傳遞給Jquery

[英]Passing An Array of Values To Jquery

我有一個這樣的按鈕:

<button id='abc' value=['fred', 26]></button>

我想知道如何通過JQuery的.val()函數訪問這兩個值。

我試過$("#abc").val()[0]但這似乎只給了我第一個字符,它是括號“[”。

我想.val()[0]代替給我值“Fred”。

您的HTML無效。 你應該試試;

<button id='abc' value="['fred', 26]"></button>

但是,您應該查看使用有效的JSON表示法 ,以便將數據解析為數組。 JSON需要雙引號用於字符串(而不是單個' ),所以你應該最終得到;

<button id='abc' value='["fred", 26]'></button>

如果你現在直接訪問$('#abc').val() ,你將檢索字符串 ["fred", 26] 要將此數據作為數組檢索,您應該使用jQuery.parseJSON()解析數據;

var array = jQuery.parseJSON($('#abs').val());
for (var i=0;i<array.length;i++) {
    alert(array[i]);
};

馬特的建議很好(他說你的HTML無效)。

另一種方法,因為元素具有ID,是在JavaScript中而不是在標記中單獨存儲值。 由於ID根據定義在頁面上是唯一的,因此您可以:

<script>
var elementValues = {};
elementValues.abc = ['fred', 26];
</script>

...然后你想要使用它,如果你知道ID(在你的代碼中,你用它來通過$("#abc")找到元素):

var values = elementValues.abc;

...或者在事件處理程序中,您不一定知道代碼中的ID,假設this是有問題的元素(就像在jQuery中的事件處理程序中一樣):

var values = elementValues[this.id];

你可以使用eval

<button id="abc" value='["fred",26]'></button>

var values = eval($("#abc").val());
values[0]
values[1]

它將返回值數組

使用“insted of”修復正確的JSON格式:

<button id="abc" value='["fred",26]'></button>

解析字符串:

$.parseJSON( $('#abc').val() )[0];

要么

var abc = $.parseJSON( $('#abc').val() );

abc[0];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM