Jump to content

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


danjapro

Recommended Posts

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');
                       }

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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();

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.