jquery无法从隐藏字段中获取值

时间:2013-12-12 07:22:05

标签: javascript jquery ajax append

我正在尝试从隐藏字段中获取值。我正在使用代码

function foo(){
 alert($('#idhere').val());
}
我得到的答案只是那句话的第一个字。 值是一个大句子我在函数foo中使用上面的代码,这个函数foo在ajax调用中的append函数内调用。

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

为什么我只能提醒一个单词。

我做错了吗

4 个答案:

答案 0 :(得分:3)

嗯,“#idhere”在哪里? 没有分配此ID的元素!

答案 1 :(得分:2)

你没有给元素idhere

尝试:

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

答案 2 :(得分:2)

我想你错过了隐藏领域的身份

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

答案 3 :(得分:2)

我应该是唯一的!你使用$ .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'));