similiar ID的所有DIV值我有一個div結構像下面獲取特定的div
<div id=main">
<input type="hidden" id="people_0_1_0" value="12"/>
<input type="hidden" id="people_0_1_1" value="12"/>
</div>
現在如何在一個變量添加所有隱藏的輸入值。感謝
similiar ID的所有DIV值我有一個div結構像下面獲取特定的div
<div id=main">
<input type="hidden" id="people_0_1_0" value="12"/>
<input type="hidden" id="people_0_1_1" value="12"/>
</div>
現在如何在一個變量添加所有隱藏的輸入值。感謝
使用jQuery的map
功能
var myArray = $('#main input').map(function(){
return $(this).val();
}).get();
它將收集所有輸入的值(在本例12和12),以數組變量。
見的jsfiddle http://jsfiddle.net/GkXUS/1/
如果你想獲取值的總和,你可以做以下
var total = 0;
$.each(myArray,function() {
total += parseInt(this,10);
});
關於地圖的快速問題,將它用於選擇器和每個選擇器(在此示例中)有什麼好處? (明顯少了一些代碼,但速度更快?) – Magrangs 2012-03-29 14:01:38
@Magrangs'map'爲您提供集合作爲結果值,而對於'each',您必須在每個回調之外初始化集合並添加到其中遍歷元素。 – Yoshi 2012-03-29 14:04:59
加上yoshi的評論,map是返回新的數組,每個都是返回相同的數組。所以在這種情況下需要創建新的數組,所以它說你使用地圖。較少的代碼是另一個好處。 查看更多詳情http://stackoverflow.com/questions/749084/jquery-map-vs-each – 2012-03-29 14:05:55
我想你想的:
var hidden_value = new Array();
var hiddens = document.getElementById("main").childNodes;
for(i = 0 ; i < hiddens.length ; i++){
hidden_value.push(hiddens[ i ].value);
}
你的代碼不起作用,這是你的小提琴http://jsfiddle.net/sK4Nt/,檢查我的答案。 – 2012-03-29 14:40:00
@SheikhHeera這就是答案:[undefined,「12」,undefined,「12」,undefined]。現在,「12」代表答案。不要爭論編輯代碼+) – 2012-03-29 14:42:11
OP只需要來自隱藏輸入的值。 – 2012-03-29 14:44:23
var total = 0;
$('#main input[id^="people_"]').each(function(){
total += parseInt(this.value, 10);
});
注意,我我正在使用屬性從選擇器開始,以查找其ID爲開始的所有輸入元素。
total
會給你所有輸入元素值的總和。
+1:這是滿足所有要求的唯一答案。 – 2012-03-29 14:01:53
@manishjangir - 這是你在找什麼? – ShankarSangoli 2012-03-29 14:08:21
一個建議 - 我會編輯答案並將'#main' div添加到選擇器。 – 2012-03-29 14:10:35
你可以嘗試這樣的事:
var peopleData = $("#main input[type=hidden]").serializeArray();
把值的變量是沒有意義的。您可以在一個陣列插入值,並執行所需的操作
你不能添加數字,並把總和在一個變量? – 2012-03-29 14:00:45
使用普通的JavaScript
var els=document.getElementById('main').childNodes;
var allVal=[];
for(i=0; i<els.length-1; i++)
{
if(els[i].nodeType != 3 && els[i].type=="hidden") allVal.push(els[i].value);
}
console.log(allVal); // the array
console.log(allVal[0]); // first value
一個例子是here。
「在一個變量」?你能舉一個例子結果嗎? – Ryan 2012-03-29 13:56:41
這是唯一的例子 – manishjangir 2012-03-29 13:57:27
使用任何客戶端?你有你的代碼嗎? – 2012-03-29 13:57:47