Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php文件中使用jquery代码?_Php_Jquery - Fatal编程技术网

如何在php文件中使用jquery代码?

如何在php文件中使用jquery代码?,php,jquery,Php,Jquery,我需要在PHP文件中的控件之后向输入[name=$key]添加一个属性 代码: if ( !isset( $field_obj[ $key ] ) ) { ?> <script> $('input[name=$key]').prop("data-toggle", "popover");</script> <?php if(!isset($field_obj[$key])) { ?> $('input[name=$key]').prop(“数据切换”

我需要在PHP文件中的控件之后向
输入[name=$key]
添加一个属性

代码:

if ( !isset( $field_obj[ $key ] ) ) 
{
?>
    <script> $('input[name=$key]').prop("data-toggle", "popover");</script>
<?php
if(!isset($field_obj[$key]))
{
?>
$('input[name=$key]').prop(“数据切换”、“弹出框”);

尝试回显
$key

<?php
if ( !isset( $field_obj[ $key ] ) ) {
    ?>
    <script>
        $('input[name=<?= $key ?>').prop("data-toggle", "popover");
    </script>
    <?php
}
?>

$('input[name=').prop(“数据切换”、“弹出框”);

不推荐使用,但请尝试此操作

<?php    
if ( !isset( $field_obj[ $key ] ) ) {
?>
<script> $('input[name=<?php echo $key ?> ]').prop("data-toggle", "popover"); </script>
<?php
}
?>

$('input[name=]').prop(“数据切换”、“popover”);
$('input[name=]).prop(“数据切换”、“弹出框”);
但这是一个糟糕的做法。


<?php    
if ( !isset( $field_obj[ $key ] ) ) {
?>

<script>
    $('input[name="<?php echo $key ?>" ]').prop("data-toggle", "popover"); 
</script>

<?php
}
?>
$('input[name=“”).prop(“数据切换”、“弹出框”);
每个人都在谈论的一个坏习惯是生成Javascript代码

最佳实践是将所有JS代码尽可能静态地加载到一个单独的.JS文件中

为了在设置PHP变量时触发这段代码,您可以执行以下操作:

$jsonKeys = json_encode(['keys'=>array_keys($field_obj)]);
print "<script>var pageConfig = {$jsonKeys};</script>";
在您的主JS代码文件中,会有这样一个块,在加载页面时运行:

for(var key in window.pageConfig.keys) {
    $('input[name='+key+']').prop("data-toggle", "popover");
}
每次加载页面时,都会加载完全相同的代码。但是,PHP代码会生成一小段JS代码,用相关数据填充
window.pageConfig
对象

您的PHP代码可能如下所示:

$jsonKeys = json_encode(['keys'=>array_keys($field_obj)]);
print "<script>var pageConfig = {$jsonKeys};</script>";
$jsonKeys=json_编码(['keys'=>array_keys($field_obj)]);
打印“var pageConfig={$jsonKeys};”;
这将在Javascript中生成
pageConfig
对象,然后代码的其余部分可以使用该对象确定要处理的键

注意,我在这段PHP代码中做了一些假设;例如,我假设您希望为每个
字段\u obj
运行jQuery代码。如果这个假设是错误的,请随意更改代码以适应,但希望我给您的示例将引导您走上正确的道路


这里的关键点是尽量减少PHP代码生成的JS代码量;当然要避免在PHP中生成JS数据对象以外的任何东西;JS代码的其余部分应该是静态的。

这确实是一种可怕的编码方式……但您需要使用脚本标记回显$key。
$('input[name=])
这将导致语法错误(
]
在php标记中)