从函数本身内部的按钮调用jquery函数

时间:2013-10-09 03:12:54

标签: javascript jquery jquery-mobile

以下是调用webservice以返回json

的代码
$('#page_job_list_pages').live('pageshow',function(){

      try {
        $.ajax({
          url: "http://domain.com/json/" + encodeURIComponent(tid),
          type: 'get',
          dataType: 'json',
          error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert('page_job_list_pages - failed to retrieve pages');
            console.log(JSON.stringify(XMLHttpRequest));
            console.log(JSON.stringify(textStatus));
            console.log(JSON.stringify(errorThrown));
          },
          success: function (data) {
            $("#page_job_list_pages_list").html("");
            $.each(data.nodes,function (node_index,node_value) {
              console.log(JSON.stringify(node_value));
              if(node_index != 0) {
                  var companyName = node_value.node.field_basic_info.match("Company:(.*)date");
                  $("#page_job_list_pages_list").append($("<li></li>",{"html":"<a href='#node_view' id='" + node_value.node.Nid + "' class='page_job_list_pages_list_title'>" + companyName[1] + "</a>"}));
              }
            });
            $("#page_job_list_pages_list").listview("destroy").listview();
            $("#page_job_list_pages_list").append('<a onclick="()" data-role="button" data-theme="a">TEST</a>');
          }
        });
      }
      catch (error) { alert("page_job_list_pages_list - " + error); }
    });


this line is a button

    $("#page_job_list_pages_list").append('<a onclick="()" data-role="button" data-theme="a">TEST</a>');

我想调用jquery函数再次查询json。

怎么做?

1 个答案:

答案 0 :(得分:0)

我已将您的查询包装在一个函数中。我假设这是你想要的。我还在按钮的点击处理程序中添加了调用,以便再次查询。

注意: 从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版jQuery的用户应该使用.delegate()而不是.live()。 (来源:http://api.jquery.com/live/

$('#page_job_list_pages').live('pageshow',function(){
  queryJSON();
});

function queryJSON(){
  try {
    $.ajax({
      url: "http://domain.com/json/" + encodeURIComponent(tid),
      type: 'get',
      dataType: 'json',
      error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert('page_job_list_pages - failed to retrieve pages');
        console.log(JSON.stringify(XMLHttpRequest));
        console.log(JSON.stringify(textStatus));
        console.log(JSON.stringify(errorThrown));
      },
      success: function (data) {
        $("#page_job_list_pages_list").html("");
        $.each(data.nodes,function (node_index,node_value) {
          console.log(JSON.stringify(node_value));
          if(node_index != 0) {
              var companyName = node_value.node.field_basic_info.match("Company:(.*)date");
              $("#page_job_list_pages_list").append($("<li></li>",{"html":"<a href='#node_view' id='" + node_value.node.Nid + "' class='page_job_list_pages_list_title'>" + companyName[1] + "</a>"}));
          }
        });
        $("#page_job_list_pages_list").listview("destroy").listview();
        $("#page_job_list_pages_list").append('<a onclick="queryJSON();" data-role="button" data-theme="a">TEST</a>');
      }
    });
  }
  catch (error) { alert("page_job_list_pages_list - " + error); }
}
this line is a button

$("#page_job_list_pages_list").append('<a onclick="queryJSON();" data-role="button" data-theme="a">TEST</a>');