我正在从服务器获取一些 json 数据。我想将此响应中的 sid 发送到其他函数,但不想在浏览器中显示它。我尝试过,但它仍然显示在浏览器上。 这是我的js
$.each(responseObj.all.r,function(i){
$('#ref').append(
'<li>'+'<input type=hidden id="refid">'+responseObj.all.r[i].rId+'</input>'+
'<input type="button" id="accept" value="accept">'+'</input>'+'</li>');
});
这是接受按钮的 onclick 函数
$("input[id^=accept]").click(function () {
var p = $(this).closest('li').find('input[id^=refid]').text();
alert(p);
localStorage.setItem("refid",p);
var need=localStorage.getItem("refid");
accept(need);
});
所以在输出中我不想显示这个refid,我只想在接受函数中发送它。提前谢谢。
最佳答案
输入元素是空元素,因此此代码无效,
'<input type=hidden id="refid">'+responseObj.all.r[i].rId+'</input>'
所以尝试用这个替换这个代码,
'<input type=hidden id="refid" value="'+ responseObj.all.r[i].rId +'"></input>'
注意:id
应该是唯一
。在您的上下文中,您必须在每个循环中使用相同的 id,例如 id="refid"
、id="accept"
。所以尽量避免这种情况。而不是您必须使用类
提出新问题以获取输入隐藏值
$("#ref").on("click", "[type=button]", function () {
alert( $(this).closest('li').find('input[type="hidden"]').val());
});
DEMO
关于javascript - 如何使数据隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24428469/