• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jquery内でPHP変数の比較)

jquery内でPHP変数の比較

mikemike7の回答

  • ベストアンサー
  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.1

JavaScriptとPHPがごちゃごちゃに書かれていますね。 PHPはPHPであり、JavaScriptはJavaScriptなので、別物です。 質問者さんのプログラムでは、PHPを動かす為に、JavaScriptを操作している形ですよね。 基本的に、PHPはサーバー上で動かす必要があり、 JavaScriptはアクセスしたパソコン側で動かす必要があるので JavaScriptを動かす為に、PHPを操作するという認識になります。 以下が修正案です。 $(document).ready(function(){ $('.delbtn').css("display","none"); <?php foreach($a as $key => $res1){ if($res1['user_id'] === "test"){ echo "\t$('.delbtn').css(\"display\",\"inline\");\n"; } } ?> }); できれば、 $('.delbtn').css("display","none"); はJavaScriptとして非表示にせず、 CSS側で予め設定しておくと無駄な動作がなくて良いと思います。

関連するQ&A

  • JQueryについて教えて下さい。

    html部分は <ul>  <li>テスト1です。</li>  <li>テスト2です。</li>  <li>テスト3です。</li> </ul> <div id="test">test</div> となっており、 スクリプト部分は、 $("ul li:not(:first)").css("display","none"); $("#test").click(function(){   if($("+li",this).css("display")=="none"){     $("li").slideUp("slow");     $("+li",this).slideDown("slow");   } }); としています。 やりたいことは、"test"をクリックしたら、 次の"li"が表示されるようにしたいのですが、 動きません。 どなたかご教授よろしくです。

  • jQueryでajax

    ajax(jQuery使用)を使った以下のサンプルは、 セレクトボックスを選択すると、ボタンを表示するのですが、 そのボタンをクリックしても、アラート(This is success!)が表示されません。 ajaxで吐き出した<button>ボタン</button>のボタンのクリックイベントが 検知しないような感じですが、いったいどこが間違っているのかわかりません。 どなたか、ご教授いただけると助かります。 htmlソース ------------------------------------------- <meta http-equiv="content-script-Type" content="text/javascript" /> <meta http-equiv="content-style-Type" content="text/css" /> <link rel="stylesheet" href="./photo.css" media="all" /> <title> テスト</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("button").click(function() { alert("Test is success!"); }); $(".first").change(function() { var param = ''; $.ajax ({ type: "POST", url: "ajax.php", data: param, cache: false, success: function(res) { $("#result").html(res); } }); }); }); </script> </head> <body> <select name="first" class="first" id="first"> <option value="1">項目1</option> <option value="2">項目2</option> </select> <p>結果:</p> <div id="result" style="width:808px;"></div> </body> </html> phpソース ---------------------------------------- <?php echo '<button>ボタン</button>'; ?>

    • ベストアンサー
    • AJAX
  • jqueryの表示非表示に関する質問

    jqueryの初心者です。 調べてもわからなかったので質問します。 display:noneで要素を非表示にし、クリックしたときに要素をcssで表示するようにしたのですが別のボタンを押したときにまた非表示にすると2回押さないと表示してくれなくなります。 具体的には下記のような感じのサンプルを作ってみました。 表示・非表示ボタンをクリックしたら交互に表示・非表示が切り替わるのですがクリアボタンを押した後に表示・非表示ボタンを押すとなぜか2回クリックしないと表示しません。 どなたかご教授いただけませんか? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jq表示/非表示test</title> </head> <style type="text/css"> .text_h{ display:none; } .text_v{ display:inline; } </style> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript"> $(function() { $("#a01").toggle(function(){ $(this).parent().next().children("span").attr("class","text_v"); },function(){ $(this).parent().next().children("span").attr("class","text_h"); }); $("#clear").click(function(){ $(this).parent().next().children("span").attr("class","text_h"); }); }); </script> <body><p> <input type="button" value="表示・非表示" id="a01" /> <input type="button" value="クリア" id="clear" /> </p> <p><span class="text_h">ボタンを表示します</span></p> </body> </html>

  • jQueryでフォーム追加・削除

    jQuery初心者です。 タイトルの通り、jQueryにてフォームの追加と削除ができるボタンを制作しているのですが、どうも削除ボタンがうまく働いてくれません。お手上げ状態ですのでご教授いただければと思います。 仕様としては追加ボタンを押すとフォームが一つ追加され、削除ボタンを押すと一番最後のフォーム一つだけが消える、というものを目指しています。 <script type="text/javascript"> var $i = 1; $(function(){ $('#addbtn').click(function(){ var $id = $('#mo_' + $i); ++$i; $('#wan').text($i); if($i > 14){ $('#addbtn').css('display', 'none'); }else if($i > 1){ $('#delete').css('display', 'block'); } //clone()でフォームを複製 $($id).clone().insertAfter($id) .attr('id', 'mo_' + $i) .end() .find('input').each(function(idx, obj) { //alert(idx); $(obj).attr({ 'id' : $(obj).attr('id').replace(/_[0-9]+$/, $i), 'name' : $(obj).attr('name').replace(/_[0-9]+$/, $i) }).val('').end(); }); $('#delete').click(function(){ $('#wan').text($i); $('div').find('#mo_' + $i).remove(); if($i < 15){ $('#addbtn').css('display', 'block'); }else if($i < 2){ $('#delete').css('display', 'none'); } }); }); }); </script> <style type="text/css"> #delete { display:none; } #addbtn { display:block; } </style> <body> <form action="" method="post"> <input type="button" id="addbtn" value="追加"> <input type="button" id="delete" value="一つ削除"> <div id="mo_1" style="margin:5px"> <input type="text" name="sasa_1" value="" id="mom_1"> </div> <br><br> <input type="submit" value="確定"> <div id="wan"></div> </form> 宜しくお願いします。

  • phpでの変数の作り方をsmartyで実現する方法

    phpでの変数の作り方をsmartyで実現する方法を教えていただきたいです。 簡単な例ですが以下のような場合どうすれば実現できるでしょうか? $Out = array("Out_10"=>"test1","Out_20"=>"test2","Out_30"=>"test3"); $Status_Num = array("10","20","30"); $window->assign('Out',$Out); $window->assign('Status_Num',$Status_Num); [表示] {foreach from=$Status_Num item=Num} <!--ここが分かりません。。--> {/foreach} [実現したい事] phpであれば。。 <?php foreach($Status_Num as $Num):?> <a href=""><?php echo $Out['Out_'.$Num];?></a> <?php endforeach;?> 連想配列のvarを表示させたいのです。。 上記の形をsmartyで実現したいです。 エラー続きで困っています。 どなたか教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • onclickで表示/非表示させている動きに、別ページからリンクさせるには

    JavaScript初心者です。 A.htmlを作成し、リンクをクリックするとidとnumberを呼び出すことで、同じhtml内に存在する3つのページが1つだけ表示されるように、cssとJavaScriptで表示/非表示させています。 【JavaScript】 function Page(id, nu){ Num = new Array ('01', '02', '03'); for (i=0; i<3; i++) { if(Num[i] == num){ document.getElementById(id + Num[i]).style.display = "block"; } else { document.getElementById(id + Num[i]).style.display = "none"; } }; } 【CSS】 #test01 {display:block;} #test02 {display:none;} #test03 {display:none;} 【html】 <a href="javascript:void(0);" onclick="Page('test','01')">link1</a> <a href="javascript:void(0);" onclick="Page('test','02')">link2</a> <a href="javascript:void(0);" onclick="Page('test','03')">link3</a> <div id="test01">  ・・・ </div> <div id="test02">  ・・・ </div> <div id="test03">  ・・・ </div> このとき別のhtml(B.html)から、A.htmlのid="test02"が表示された状態にリンクを作成することはできるのでしょうか? 恐れ入りますがよろしくお願い致します。

  • PHPの変数をJavaScriptに渡したい

    PHPの中にJavaScritの確認ダイアログを表示しています。 PHPの変数をJavaScript内でも使いたいのですが、どのようにすればよいのでしょうか? <?php $number=$_POST["number"]; if(isset($_POST["delete"])) { //選択したデータの削除 //削除の確認 print("<script language='JavaScript'>"); print("res=confirm('削除してもよいですか');"); print("if(res==false) location.href='delete.php?number=$number';"); print("</script>"); ?> また、<?php  ?>内でJavaScriptを使っているのでprint文でJavaScript文を書いていますが、あまりスマートではありません。 これ以外の記述方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • jquery教えて下さい。

    現在、 <script type="text/javascript"> $(function(){ $("#btn1","#test2").click(function () { $("div","#test2").slideDown(3000); }); }); </script> のコードで btn1のidボタン▼をクリックすると test2がslidedownするコードを造っているのですが これをボタンを押さずに ページがひらいたと同時にスライドするにはどのように すればよろしいでしょうか? 宜しくお願いします。 <div id="test2"> <div style="display:none;"><div class="slide"> <ul> <li class="setsumei1">test1</li> <li class="setsumei1">test2</li> <li class="setsumei1">test3</li> <li class="setsumei1">test4</li> </ul> </div></div> <div id="btn1">▼</div> </div>

  • 表示と非表示

    下のような物があったときに、1を押したときに1が現れるのですが、続けて2を押したときに1と2が表示されてしまいます。 この時に、2を押したら、1を非表示にして2だけを表示したいのですが、可能でしょうか? よろしくお願い致します。 <HTML><HEAD><TITLE>test</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function apper(sLayers) { if (document.all) { if (document.all(sLayers).style.display=='inline') {  document.all(sLayers).style.display='none'; } else { document.all(sLayers).style.display='inline'; } } return (false); } // --> </SCRIPT> <style type="text/css"> span.hidden { position: relative; display: none } span.visiable { position: relative; display: inline } // --> </style></HEAD> <BODY> <a href="" onClick="return apper('1')">質問1</a><br> <a href="" onClick="return apper('2')">質問2</a><br> <a href="" onClick="return apper('3')">質問3</a><br> <span class="hidden" id="1">1<br></span> <span class="hidden" id="2">2<br></span> <span class="hidden" id="3">3<br></span> </BODY></HTML>

  • jqueryで以下のようにして読み込みをさせて

    jqueryで以下のようにして読み込みをさせて ボタンをクリックするとプラスして表示する形にしているのですが $(document).ready(function(){ window.scrollTo(0,1); $('#river').load('/test.php', null, function(){ }); var pageset=1; $('#loadmore').click(function(){ var a = $(this); var b = $(this).html(); $.get('/test.php?page='+pageset, function (data){ $("#river").append(data); pageset = pageset + 1; a.html(b); }); return false; }); }); <ボタン、表示部分のソース> <div id="river" rel=""> <p id="loading">loading</p> </div> <a href="#" class="action more" id="loadmore">ボタン</a> pagesetの値が一定の数に達した際(たとえば5など)に ボタンをクリックすると別ページを別窓で開かせるようにしたいのですが (http://www.yahoo.co.jp/が別窓で開くなど) どのような記述を追加すればよいのでしょうか。 また、pagesetの値が一定の数に達した(たとえば5など)際に 「ボタン」とかかれた部分を別の名前に変更させる場合や非表示にする場合は どのような記述をすれば可能になりますでしょうか。 調べながら色々やってみたのですが、どうしても上手くいきません。 聞いてばかりで申し訳ありませんが ご教授いただけますと幸いですm(__)m