gpt4 book ai didi

php - 使用 jquery 检查 php 数组中的复选框需要帮助

转载 作者:行者123 更新时间:2023-12-01 04:28:36 25 4
gpt4 key购买 nike

我有一个 php 数组,我试图让 jQuery 来检查这些复选框,但我似乎无法让它工作。我的 php 数组名称是“toCheck”,即:

Array
(
[0] => 0
[1] => 3
[2] => 4
)

0,3,4 是我需要检查的复选框。这是我的复选框:

<input type="checkbox" name="correct[0]" id="correct" value="0" />
<input type="checkbox" name="correct[1]" id="correct" value="1" />
<input type="checkbox" name="correct[2]" id="correct" value="2" />
<input type="checkbox" name="correct[3]" id="correct" value="3" />
<input type="checkbox" name="correct[4]" id="correct" value="4" />
<input type="checkbox" name="correct[5]" id="correct" value="5" />

如果有人能指出使用什么 jQuery 来选中这些复选框,那就太好了!

<?php foreach($toCheck as $checkMe) { ?>
//i'm assuming my jquery goes here but I can't get it working
<?php }; ?>

提前谢谢你:)

最佳答案

您的 HTML 无效。 id 值在文档 ( reference ) 中必须唯一

也就是说,忽略 id 值,您可以使用这个( live example ):

$(':checkbox[name^=correct]').each(function() {
switch (this.value) {
case "0":
case "3":
case "4":
this.checked = true;
break;
}
});

它在 name 属性上使用 CSS3 子字符串选择器(jQuery 支持几乎所有 CSS3)来选择名称以 Correct 开头的任何复选框,然后使用 jQuery each循环遍历它们。然后我们在具有所需的属性上设置checked属性。

您也可以使用更长的选择器而不使用循环( live example ):

$(':checkbox[name^=correct][value=0], :checkbox[name^=correct][value=3], :checkbox[name^=correct][value=4]').attr('checked', true);

更新:重新阅读您的问题,看起来您可能需要更动态地执行此操作:

<script type='text/javascript'>
(function() {
var boxes = $(); // Assumes jQuery 1.4 or higher
<?php foreach($toCheck as $checkMe) { ?>
echo "boxes.add(':checkbox[name=^=correct][value=" . $toCheck . "]');";
<?php }; ?>
boxes.attr('checked', true);
})();
</script>

...这会生成:

<script type='text/javascript'>
(function() {
var boxes = $(); // Assumes jQuery 1.4 or higher
boxes.add(':checkbox[name=^=correct][value=0]');
boxes.add(':checkbox[name=^=correct][value=3]');
boxes.add(':checkbox[name=^=correct][value=4]');
boxes.attr('checked', true);
})();
</script>

...这将检查相关的框。但它不会非常有效(所有文档遍历),最好使用 PHP 将值组合到选择器或 switch 中,如上所示。

关于php - 使用 jquery 检查 php 数组中的复选框需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393468/

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