从Jquery post return中选择元素

时间:2013-06-10 10:14:34

标签: javascript jquery html post userscripts

我正在尝试从jquery post返回数据中选择一个元素。字符串正在返回但是当我尝试从返回的html字符串中选择一个元素时,选择始终为null。这是一个正在加载greasemonkey的用户脚本。

refresh();

function refresh(___id,___action,___page){
            $.post("http://www.example.com", {auction_id:___id,action:___action,page:___page}, function(bidpage){
            var auction_id = $("#auction_id", bidpage).val();
            console.log(auction_id);
});

此帖回复此数据

    <html><head></head><body><input type="hidden" name="auction_id" id="auction_id" value="8583949"></body></html>

auction_id始终为空。无法找到任何解决方案。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

这是因为你将bidpage作为字符串。您需要先将其转换为HTML:

var auction_id = $("#auction_id", $( bidpage ) ).val();

由于jQuery API [context]应该是DOM Element,Document或jQuery。

COMMENT:

看起来像jQuery strip <html><body>元素,所以你需要使用:

var auction_id = $( bidpage ).val();

答案 1 :(得分:0)

你可以尝试将你的帖子数据添加到div:

<div id="appendpostdatahere"></div>


function refresh(___id,___action,___page){
  $.post("http://www.example.com", {auction_id:___id,action:___action,page:___page}, 
    function(bidpage){
      $('#appendpostdatahere').html(bidpage);
      var auction_id = $('#auction_id).val();
      console.log(auction_id);
    });
}