gpt4 book ai didi

php - 如何使用变量来处理 Jquery 选择器

转载 作者:行者123 更新时间:2023-12-01 05:34:26 25 4
gpt4 key购买 nike

我有一个带有 boxcatID 类的 div,它的 html 是从 jquery 脚本更改而来的。问题是我的特定页面有许多这样的 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>

那么,如果我想更改此处的文本,我该如何解决我正在处理的这个单一 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,消除对增量类的需求。

关于php - 如何使用变量来处理 Jquery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34899231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com