Jump to content


Photo

how to load() template file in jquery, pass to div or alert?


  • Please log in to reply
6 replies to this topic

#1 danjapro

danjapro

    Advanced Member

  • Members
  • PipPipPip
  • 66 posts

Posted 20 February 2013 - 11:54 AM

I am using php, and need to load() this , template content php file into the jquery and pass it to a #div ID to render front-end view.


I am not sure how to load the php file in jquery and then pass it as a variable called repeater which helps build out all the rows combining the template loaded with Ajax (obj) query results.

In the set alert, it pops up as [object Object], no template.
When I write the entire php template content out into jquery as var repeater, it works, but I do not want all that html in jquery. Just load() then read.

Here is the code if this makes any sense
  $('#pageContent').load('../includes/OrderLookup.php #pageContent');
  alert ($('#pageContent').load('OrderLookup.html #pageContent'));
  var url = $('#pageContent').load('../includes/OrderLookup.php');
  var page = '<div id="pageContent"></div>';
              var repeater = $('#pageContent').load('OrderLookup.html #pageContent');



  var pageBuildUp='';
                    for (x in dataArray){
                         pageBuildUp += obj.repeater;
   //alert(obj.repeater);
//pageBuildUp += url;
                        pageBuildUp = pageBuildUp.replace('##transactionId##',makeTextSmall(dataArray[x]['blockvalue'],20));
                        if (dataArray[x]['description']==''){
                            pageBuildUp = pageBuildUp.replace('##orderTotal##','no total amount');
                        }


#2 Xaotique

Xaotique

    Advanced Member

  • Members
  • PipPipPip
  • 572 posts
  • LocationPennsylvania, United States
  • Age:22

Posted 20 February 2013 - 12:40 PM

You should use $.get() if you want to play around with the returned data. You could also $.load() into a DIV though, and read the HTML.

#3 danjapro

danjapro

    Advanced Member

  • Members
  • PipPipPip
  • 66 posts

Posted 20 February 2013 - 03:54 PM

I am using load():

See code string


var repeater = $('#pageContent').load('OrderLookup.html #pageContent');

#4 Xaotique

Xaotique

    Advanced Member

  • Members
  • PipPipPip
  • 572 posts
  • LocationPennsylvania, United States
  • Age:22

Posted 20 February 2013 - 10:40 PM

$("#pageContent").load("OrderLookup.html");
alert($("#pageContent").html());

$.get("OrderLookup.html", function(data)
{
    alert(data);
});


#5 danjapro

danjapro

    Advanced Member

  • Members
  • PipPipPip
  • 66 posts

Posted 21 February 2013 - 01:36 PM

I changed my code some. Using function(dataRow), I can gather the Temlate file.
But problem now is the function cannot be inside of the Main function and work properly.

How to wrap that function with my current loop pagebuildup function?


$.post("ajax/search_full_block.php",{query:searchQuery,limit:limiter,accountID:accountID,blocktype:block_type,emailID:emailID},function(dataReturn){
var obj = jQuery.parseJSON(dataReturn);
alert('---success---');
if (obj.Ack=="success"){


$('#resultsset').html('');
var dataArray = obj.data;
var totalCount = obj.total_count;
var optionsBloc='';



var repeater = $('#pageContent').load('includes/OrderLookup.php');
alert($("#pageContent").html(repeater));
var page = '<div id="pageContent"></div>';



$('#pageContent').load("includes/OrderLookup.php", function(dataRow) {
alert("Data Loaded: " + dataRow);
var repeater = dataRow;
});



var pageBuildUp='';
for (x in dataArray){
pageBuildUp += obj.repeater;
pageBuildUp = pageBuildUp.replace('##transactionId##',makeTextSmall(dataArray[x]['blockvalue'],20));
if (dataArray[x]['description']==''){
pageBuildUp = pageBuildUp.replace('##orderTotal##','no total amount');
}



Edited by danjapro, 21 February 2013 - 01:41 PM.


#6 danjapro

danjapro

    Advanced Member

  • Members
  • PipPipPip
  • 66 posts

Posted 22 February 2013 - 03:04 PM

I am trying to get the template to load into a div or just to display the contents of that template file:

var repeater = $('#pageContent').load('includes/OrderLookup.php');

that does not seem to work when I set it as a var

however, this is the template written into the jquery and it works well. But I do not want to load the template in the jQuery:
  var repeater = '<div class="ub-quick-results-box" id="OrderLookupResults"  onclick="showEditBlock(##Orderid##);" style="border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; background-color: rgb(250, 250, 250); "><div class="repeater_blockname" id="transactionId" style="font-size:12px; font-family:arial; color:#787878;border-right:solid 1px #ebebeb; width: 220px; display: inline-block; padding-left: 35px; height: 20px; padding-top: 0px; cursor: pointer; "> <a href="#" onclick="showinfobox(##transactionId##);">##transactionId## </a> </div><div class="repeater_blockname" id="orderDate" style="font-size:12px; font-family:arial; color:#787878;border-right:solid 1px #ebebeb; width: 120px; display: inline-block; padding-left: 35px; height: 20px; padding-top: 0px; "> ##orderDate## </div><div class="repeater_blockname" id="orderTotal" style="font-size:12px; font-family:arial; color:#787878;border-right:solid 1px #ebebeb; width: 220px; display: inline-block; padding-left: 45px; height: 20px; padding-top: 0px; font-weight: bold; "> <span>##orderTotal## </span> </div><div class="repeater_blockname" onclick="actdeBlock(##Orderid##)" id="status" style="font-size:14px; font-family:arial; color:###colour##;border-right:solid 0px #ebebeb; width: 120px; display: inline-block; padding-left: 20px;  padding-top: 0px; "  > <span id="ub_block_status_display_##Orderid##" style="color:###colour##">##status##</span> </div><input type="hidden" id="ub_hidden_status_##Orderid##" value="##status_val##"/></div>';

How to load(), to return just the empty template into var and pass it to my pagebuildup.

#7 Xaotique

Xaotique

    Advanced Member

  • Members
  • PipPipPip
  • 572 posts
  • LocationPennsylvania, United States
  • Age:22

Posted 23 February 2013 - 03:44 AM

You don't set it as a var. If you want to manage the returned data, just use $.get() like I showed above. Otherwise, why would you even be attempting that?

If you really must use $.load() then make repeater the html of that div. var repeater = $("#pageContent").html();




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Cheap Linux VPS from $5
SSD Storage, 30 day Guarantee
1 TB of BW, 100% Network Uptime

AlphaBit.com