我仍在搜索从动态创建对象中获取值的解决方案。
Follwing代码从zip2.php生成动态对象
$(document).ready(function() {
$("#submit").click(function(e) {
e.preventDefault();
var q = $("#k").val();
$.ajax({
type: "POST",
url: "zips.php",
data: "q="+ q,
dataType: "html",
success: function(res) {
$("#result").html(res); $('#result').trigger('create');
},
});
});
});
$(document).ready(function() {
$("#submit").click(function(e) {
e.preventDefault();
var q = $("#k").val();
$.ajax({
type: "POST",
url: "zips.php",
data: "q="+ q,
dataType: "html",
success: function(res) {
$("#result").html(res); $('#result').trigger('create');
},
});
});
});
它创建了这种格式的对象。(zips.php的内容)
<div data-role="content">
<div id="result"></div>
</div>
&GT;
此脚本从动态对象获取text()值并将其插入到表单中。
<? echo " <div><ul id='zips' data-role='listview' data-inset='true' data-theme='c'>";
while($row = mysql_fetch_array($result)) {
$out .= "
<li>
<a name='submit_button' href='#mainPage'><span class='zip1'>$zip1</span>-
<span class='zip2'>$zip2</span><br />
<span class='address'>$row[zp_sido] $row[zp_gugun] $row[zp_dong] $row[zp_bunji] </span></a>
</li> \n";
}
echo $out."</ul>";
问题是“var inputVal1 = $('。zip1,this).text();”从动态对象类名“zip1”获取null。
答案 0 :(得分:1)
而不是
$('a[name=submit_button]').click(function(){..
使用它:
$('#result').on('click', 'a[name=submit_button]', function(){..
当你a[name=submit_button]
在页面加载后附加到DOM时,动态地通过ajax请求,所以你需要委托事件处理程序,普通事件绑定在这里不起作用。
详细了解 .on()
对于.on()
的一般绑定语法,如:
$(target).on(eventName, handlerFunction)
但是对于委托事件systax是
$(container).on(eventName, target, handlerFunction)
此处container
是在页面加载时属于DOM的Static-element
,包含target
,container
和target
都是有效的jQuery选择器。