从动态创建的对象中获取文本值

时间:2012-06-20 07:57:46

标签: php jquery

我仍在搜索从动态创建对象中获取值的解决方案。

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。

1 个答案:

答案 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,包含targetcontainertarget都是有效的jQuery选择器。