2017-06-24 21 views
-1

我有一个表格内的下列输入:为什么我的PHP echo文本存储为JQuery中的变量?

<form> 
    <input type="hidden" name="hiddeninput" value="SecondProblem"> 
</form> 

使用下面的脚本,我试图存储使用PHP的回声在JQuery的一个变量词“SecondProblem”,然后用它来隐藏父形成。但是,PHP回显文本不会被变量拾取。

$(function(){ 
var selectorvar = "<?php echo "SecondProblem"; ?>" 
var selectorvar1=selectorvar ; 
$('input[value="+selectorvar1+"]').closest("form").css("display", "none"); 
}); 

当我直接用文字"SecondProblem"更换"+selectorvar1+"形式显示成功切换到“无”,所以我知道它是与PHP的回声不存储为一个变量。注意:我知道有更简单的方法可以将此窗体上的显示变为“无”,但我需要这样做;我只是删除了上下文,所以我可以更直接地提出我的问题。

任何帮助将不胜感激!

+2

连接变量''('input [value =''+ selectorvar1 +'“''')' – chris85

+1

请使用您的浏览器控制台查看错误。控制台会告诉你你有什么问题 – charlietfl

+0

@ chris85是正确的,你不能期望用''''结束分隔字符串任何理智的编辑器都会使这个变得更明显 –

回答

6

$('input[value="+selectorvar1+"]')应该$('input[value="'+selectorvar1+'"]')

请注意添加了单引号。

+0

它工作!谢谢;这很奇怪,因为我后面有一段类似的代码,并没有使用那些额外的撇号,它的工作原理如下:var = carouselbutton1percentage =“<?php echo”47“;?>” var percentage = carouselbutton1percentage, col1 =“#72CF2F”, col2 =“white”; var t = document.getElementById('carouselbutton1'); t.style。背景=“-webkit-gradient”(线性,左下,左上,颜色停止(“+百分比+”%,“+ col1 +”),停止颜色(“+百分比+”%,“+ col2 +”))“; ' – Snoops

+0

Snoops ...使用''来输出硬代码字符串没有任何意义 – charlietfl

+0

@Snoops我在您提供的示例中没有看到JS变量位于引号内的实例。 – chris85

-1

我相信

var selectorvar = "<?php echo "SecondProblem"; ?>", 
var selectorvar1=selectorvar ; 

应该

var selectorvar = "<?php echo "SecondProblem"; ?>", 
selectorvar1=selectorvar ; 
+0

感谢您的回复。我试图相应地去掉'var',但不幸的是它没有做任何事情。 – Snoops

+0

OP代码的第一行没有逗号显示。缺少';'在非缩小代码中不是问题 – charlietfl

+0

没问题,你的引号也没问题。 PHP由服务器解析,不会在你的javascript中放置双引号。 – pokeybit

相关问题