我有一个元素,在ajax调用后在页面上动态添加,其中有一个隐藏的输入字段:
<div id='added_title'>
<b>Title</b>
<input type='hidden' id='title_n' name='title_n' value='TITLE_NAME'/>
</div>
在ajax调用之后我需要获取输入字段值以在另一个div中显示它但没有任何事件或点击,就在ajax调用完成之后。
我试过了:
$("input[name='title_n']").val();
$("input[id='title_n']").val();
$("#title_n").val()
$("#added_title input[name='title_n']").val();
我也试过使用像这样的数据属性:
<div id='added_title' data-title = 'TITLE_NAME'>
<b>Title</b>
</div>
使用以下方式访问数据:
$('#added_title').data('title');
但我总是得到“未定义”的价值。
有什么建议吗?
修改
Ajax电话:
$.ajax({
type: 'POST',
url: '/tools/get_title.php',
data: { title: title},
success: function (response) {
$("#title_div").html(response);
}
});
其中“title_div”是“added_title”父级的ID。
答案 0 :(得分:1)
$("#title_n").val()
是获得您所追求的价值的最快捷,最简单的方式。
上面代码的问题在于$.ajax
调用被触发,然后代码继续执行,包括调用隐藏输入。
然后$.ajax
调用完成并触发成功事件,该事件将所述元素放在页面上。
在$ .ajax调用完成之前,您无法对隐藏元素执行任何操作,因此您应该让代码在success
函数中调用的函数中处理该元素。 {1}}致电。