2013-12-12 133 views
1

我想從隱藏字段獲取值。我正在使用代碼jquery無法從隱藏字段獲取值

function foo(){ 
alert($('#idhere').val()); 
} 

我得到的答案只是該句的第一個單詞。 值是一個很大的句子我在一個函數foo中使用上面的代碼,並且這個函數foo在ajax調用中的一個附加函數內被調用。

$.each(data, function(i, item) { 
$("#news").append('<a onclick="foo()">xxx</a><input type="hidden" id="idhere" value="item[0]"'); 
} 

爲什麼我只有一個單詞作爲警報。

難道我做錯了

+0

你會寫完整的代碼和HTML。 –

+0

嗨喬治,這將是有用的,你有一個看法,你的HTML代碼,看看你的js應該做什麼。你說的只是從整個句子中只取出一個單詞,但在你的例子中沒有。 – mamoo

+0

輸入錯誤我在我的原始代碼 – George

回答

2

你還沒有給定id idhere到元素。

嘗試:

$("#news").append('<a onclick="foo()">xxx</a><input type="hidden" value="item[0]" id="idhere"'); 
3

嘛,哪裏是 「#idhere」?
沒有分配此ID的元素!

2

我想你錯過了ID的隱藏字段

$("#news").append('<a onclick="foo()">xxx</a><input type="hidden" value="item[0]" id="idhere"'); 
2

ID必須是獨一無二的!您使用$ .each,這意味着您可能會創建具有相同ID的許多元素。那很糟。

$.each(data, function(i, item) { 
    $("#news").append('<a onclick="foo()">xxx</a><input type="hidden" id="idhere' + i + '" value="item[0]"'); 
} 

用途:

function foo(){ 
    alert($('#idhere0').val()); 
} 

或者:

var vals = $.map($('input[type="hidden"]'), function(el) { 
    return $(el).val(); 
}); 
alert(vals.join('\n'));