如何使用变量解决jQuery选择器 - php

我有一个具有boxcatID类的div,该类的html已从jquery脚本更改为html。问题是我的特定页面有许多这样的div,所以当只影响一个div时,我的脚本当然会影响所有这些div。

因此,要解决此问题,我在类名称中添加了catID变量,例如boxcatID + catID,例如boxcatID1。

现在,在我的jquery脚本中,我需要解决我正在处理的特定div,因此它可能是boxcatID1甚至boxcatID30。所以我有这个作为jQuery的:

 $(".boxcatID"+catID).html( singleValues + glyphLeft); 

但这会引发错误

 Error: Syntax error, unrecognized expression: .boxcatID1;

这些div是从我的数据库中的循环创建的。因此,30条记录将意味着30 div。

 <div class="boxcatID<?php echo $cat_id; ?>">TEXT HERE</div>

那么,例如,如果我想更改“ TEXT HERE”,该如何处理我正在处理的一个div?

这是原始代码:

glyphLeft = '<span class="glyphicon glyphicon-user" data-unicode="e008"></span>';
            function displayValsL() {

                catID = dp(this).attr("catID");
                console.log("catID is " + catID);
                var singleValues = dp( "select.selectbox-listL" ).val();
                var boxcat = '#boxcatID'+catID;

                dp("#boxcatID"+catID).html( singleValues + glyphLeft);
                var pic = "images/players/" + dp('option:selected' , this).attr("id") + ".png";
                dp(".img-left").attr("src", pic);
                nameValue1 = dp('option:selected' , this).val();
                enableButton();
            }
            dp( "select.selectbox-listL" ).change( displayValsL );

的PHP

<div class="selectbox-wrapper left">
                    <div class="selectboxTopL" id="boxcatID<?php echo $cat_id; ?>" catID='<?php echo $cat_id; ?>'>
                        Player 1 <span class="glyphicon glyphicon-user" data-unicode="e008"></span>
                    </div> <!-- END selectboxTop -->
                    <select  class="selectbox-listL" catID='<?php echo $cat_id; ?>' size="6">

                        <?php
                            $query2 = "SELECT first_name,last_name, playerID, categoryID FROM Players WHERE categoryID = '$cat_id' ORDER BY last_name";
                            $result2 = mysqli_query($conn, $query2);

                            if($result2 === FALSE) { 
                                die(mysql_error()); // TODO: better error handling
                            }

                            //fetch tha data from the database
                            while ($row2 = mysqli_fetch_array($result2)) {

                                $playerID = $row2['playerID'];
                                $playerFN = $row2['first_name'];
                                $playerLN = $row2['last_name'];
                                $playerCatID = $row2['categoryID'];

                                echo '<option id="'. $playerFN . $playerLN .'" value="' . $playerFN ." ". $playerLN . '">' . $playerFN . " " . $playerLN . '</option>';
                            }
                        ?>
                    </select>
                </div><!-- END selectbox-wrapper -->

参考方案

问题是因为HTML的;属性中有尾随的class,因此选择器不匹配。您只需要在PHP代码块内移动;。悬挂的'也可以删除。

更改此:

<div class="boxcatID<?php echo $cat_id ?>;"'>TEXT HERE</div>

对此

<div class="boxcatID<?php echo $cat_id; ?>">TEXT HERE</div>

更好的是,通过遍历引发此代码运行事件的元素的DOM,从而消除了对增量类的需求。

CodeIgniter更新查询被执行两次 - php

我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…

故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php

我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…

通过php表单修改我的xml文件 - php

这是我的xml文件和下面的php代码。我输入了一个输入类型,它将按名字搜索学生。然后将显示有关特定学生的信息,并且将显示另一个按钮更新。问题是我想在那之后修改信息。如何通过标签名称获取元素,以便可以修改有关特定学生的信息?<students> <student> <firstname>John</firstname&…

在ajax之后将页面内容复制到同一页面 - php

我有简单的注册公式,我希望首先使用ajax发送,而不刷新页面以控制是否插入正确的数据,然后仅重定向到其他页面。问题是,当我通过ajax将其发送到同一页面后,一切正常,但是页面内容重复,我可以看到两次...这是我的ajaxfunction registruj () { var name = $('#meno').val(); var pri…

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…