Solved

PHP inside of JQuery

Posted on 2014-02-25
8
440 Views
Last Modified: 2014-02-26
How do I place PHP inside of JQuery?

I have the following:
$(document).ready(function() {
	$('input[type="radio"]').click(function() {
		if ($(this).attr("value") == "custom yes") {
			$("#custom-hidden-<?php echo $id; ?>").show('slow');
		}
		if ($(this).attr("value") == "custom no") {
			$("#custom-hidden").hide('fast');
		}
	});

Open in new window


I need to know how to write the <?php echo $id; ?> Part.
0
Comment
Question by:rgranlund
8 Comments
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
Comment Utility
You would not put your php inside of jquery, but you could wrap the entire piece of code around php where you echo the entire thing.
0
 
LVL 74

Expert Comment

by:käµfm³d 👽
Comment Utility
Does what you posted not work?
0
 
LVL 58

Accepted Solution

by:
Gary earned 500 total points
Comment Utility
Nothing wrong with the way you have it but that javascript must be in your php page, you cannot have it in an external js file.
For things like this I tend to drop an hidden text field in the php page and call that field from the js file so I can keep everything separate.
0
 
LVL 108

Expert Comment

by:Ray Paseur
Comment Utility
Differences between client and server applications are explained in this article.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/A_11271-Understanding-Client-Server-Protocols-and-Web-Applications.html

Basically, PHP runs on the server and generates the HTML document (including CSS and JavaScript such as jQuery).  After PHP has generated the document it sends the document to the client and goes back to sleep to await the next request.  The next request may come from a human mouse-click or from a jQuery method, but whatever PHP sent in its initial HTML document is what the browser has to work with unless and until another request is made.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 82

Expert Comment

by:Dave Baldwin
Comment Utility
On one of my own pages, I have a javascript link that is actually a PHP page that generates the javascript.  The javascript link is:
<script type="text/javascript" src="ip.php"></script>

Open in new window

And the PHP page is:
<?php 
//"ip.php" example- display user IP address on any page
Header("content-type: application/x-javascript");
$remoteIP=$_SERVER['REMOTE_ADDR'];
echo "document.write(\"<div><b>Your IP address is: " . $remoteIP . "</b></div>\")";
?>

Open in new window

0
 
LVL 30

Expert Comment

by:Marco Gasi
Comment Utility
I know another way to do that if you have your javascript in an external file:

in the head section of your page you can write:

<script>var id = <?=$id ?></script>
<script type='tex/javascript' src='your_script.js'></script>

Open in new window


Then in your script you simply use the javascript variable id:

$(document).ready(function() {
	$('input[type="radio"]').click(function() {
		if ($(this).attr("value") == "custom yes") {
			$("#custom-hidden-"+id).show('slow');
		}
		if ($(this).attr("value") == "custom no") {
			$("#custom-hidden").hide('fast');
		}
	});
                                  

Open in new window


It works fine but I'm not sure if this is a good practice...
0
 
LVL 82

Expert Comment

by:Dave Baldwin
Comment Utility
I like that too, I'll probably use that somewhere.
0
 
LVL 108

Expert Comment

by:Ray Paseur
Comment Utility
@marqusG: I don't see anything wrong at all -- it makes perfect sense to me.  I point out the client/server difference because sometimes there is confusion about what happens first and next, what happens on the server then on the client.  Both your example and Dave's example seem quite feasible.  At least that's the way I see it.

Best to all, ~Ray
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Introduction Got endorsements from your clients?  Great!  There is almost nothing better than word-of-mouth advertising.  But how can you do that on the internet?  Sure you can make a page for endorsement quotations and list them all, but who is …
Introduction A frequently asked question goes something like this:  "I am running a long process in the background and I want to alert my client when the process finishes.  How can I send a message to the browser?"  Unfortunately, the short answer …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now