我有以下代码,它成功地将value
存储为name
,然后我可以将其用作php中的全局变量。这是完整的代码(除了标签和jquery链接):
<script>
$(document).data('name', "value");
</script>
<?php $Phpvar = "<script>document.writeln($(document).data('name'));</script>";
print_r($Phpvar); ?> //Prints "value"
但是,如果我将$(document).data
函数放在if条件中,则会停止工作:
<head>
<script>
if ($("div").hasClass("blah")){
$(document).data('name', "value");
}
</script>
</head>
<body>
<div class = "blah"></div>
<?php $Phpvar = "<script>document.writeln($(document).data('name'));</script>";
print_r($Phpvar); ?> //Prints "undefined"
</body>
我尝试了$(document).ready
,但仍然无效。 (another variable
绝对等于0):
<head>
<script>
$(document).ready(function(){
if ($("div").hasClass("blah")){
$(document).data('name', "value");
}
});
</script>
</head>
<body>
<div class = "blah"></div>
<?php $Phpvar = "<script>document.writeln($(document).data('name'));</script>";
print_r($Phpvar); ?> //Prints "undefined"
<body>
如何在保持在我的php中使用$(document).data('name', "value");
的能力的同时向document.writeln($(document).data('name'));
添加条件?
答案 0 :(得分:0)
显而易见的结论是,leveldeterminant实际上并不等于0.在if语句之前添加console.log(leveldeterminant)并检查它包含的值
答案 1 :(得分:-1)
你应该关闭你的if块
DECLARE @tt TABLE(Id INT, Value NVARCHAR(256), Data NVARCHAR(256));
INSERT INTO @tt(Id,Value,Data)
VALUES
(1,N'Value1',N'Data1'),
(2,N'Value2',N'Data2'),
(2,N'Value3',N'Data3'),
(2,N'Value4',N'Data4'),
(3,N'Value5',N'Data5'),
(3,N'Value6',N'Data6');
SELECT
t_o.Id,
ValueDatas='['+STUFF((
SELECT
', {"Value" : "'+ Value +'", "Data" : "' + Data + '"}'
FROM
@tt AS t_i
WHERE
t_i.Id=t_o.Id
FOR XML
PATH(''), TYPE
).value('.[1]','NVARCHAR(MAX)'),1,2,'')+']'
FROM
@tt AS t_o
GROUP BY
t_o.Id