【问题标题】:PHP prechecked check boxes from a StringPHP 预先检查了来自字符串的复选框
【发布时间】:2018-01-06 16:35:15
【问题描述】:

你好
我想告诉你,我知道有很多关于相同问题的堆栈溢出解决示例。但我的不同且复杂。

我有具有逗号分隔值的 PHP 变量,例如 "car_ferrari,car_jaguar,car_lamborghini",并且我有多个复选框
    name='car [ ] '      value = ' car_ferrari '        name='car []'     value = 'car_lamborghini'   
    name='car []'     value = 'car_hummer'   
    name='car [] ' ' car_jaguar '   
    name='car [ ] '      value = ' car_aston '   

如果此变量具有相同的字符串值,我想检查复选框。
应该选中值为 car_ferrari,car_jaguar,car_lamborghini 的复选框
我有大量这些类型的变量以及大量复选框数组。我知道我可以使用explode,然后使用in_array(),但是为每一个都设置条件确实很耗时大约 400 个复选框的复选框。

如果 Jquery 可以帮助解决问题,我会使用它,但请给我适当的答案。如果有疑问,请询问我。
提前致谢。

【问题讨论】:

  • 你需要用逗号分割你的字符串,然后遍历它并匹配你的复选框。
  • 将字符串传递给 jQuery,然后使用它来遍历您的值并选中所需的复选框。
  • 请查看 url [link]codenomad.biz/ssa-agency/info 并点击 genetic history 我有每一行的每个变量,我想选中具有复选框的相同值。希望你明白我的意思。
  • 我建议的解决方案是否解决了您的问题?
  • @Webbanditten...抱歉,没有

标签: php jquery checkbox explode checked


【解决方案1】:

我创建了一个 JSFiddle,它演示了如何用逗号分割字符串,然后迭代并选择具有相应值的复选框。

纯JS解决方案

var myString = "car_ferrari,car_jaguar,car_lamborghini";

var selectedCarArray = myString.split(",");

selectedCarArray.forEach(function(element) {
    document.getElementById('checkbox_' + element).checked = true;
});
<input type="checkbox" name="car[]" value="car_ferrari" id="checkbox_car_ferrari" />
<input type="checkbox" name="car[]" value="car_lamborghini" id="checkbox_car_lamborghini" />
<input type="checkbox" name="car[]" value="car_hummer" id="checkbox_car_hummer" />
<input type="checkbox" name="car[]" value="car_jaguar" id="checkbox_car_jaguar" />
<input type="checkbox" name="car[]" value="car_aston" id="checkbox_car_aston" />

jQuery 解决方案

var myString = "car_ferrari,car_jaguar,car_lamborghini";

var selectedCarArray = myString.split(",");

selectedCarArray.forEach(function(element) {
    $('input[value="' + element + '"]').prop('checked', true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="car[]" value="car_ferrari" />
<input type="checkbox" name="car[]" value="car_lamborghini" />
<input type="checkbox" name="car[]" value="car_hummer" />
<input type="checkbox" name="car[]" value="car_jaguar" />
<input type="checkbox" name="car[]" value="car_aston" />

【讨论】:

  • 你检查过我提供给你的网址吗?我有大量的 php 变量,例如“shoes_adidas、shoes_reebok、shoes_nike”,并且我有多个复选框,如果我有大量的 php 变量和大量的复选框会怎样。我不能使用静态值,比如 var myString = "car_ferrari,car_jaguar,car_lamborghini";
  • 我在访问您的 URL 时被重定向。
  • 用户名:manpreet@codenomad.net 密码:manpreet@123 这只是一个虚拟数据
  • 但是Boyka,如果您根据后端数据生成表单。你为什么不只标记后端选中的复选框?为什么要将额外的数据解析给客户端并让它完成检查输入框的工作?
  • 其实我刚刚完成了这个任务,数据库中大约有 15-16 个表存储了这个选项卡的值。我只是将数据库中的这个值组合在 逗号分隔值 然后将其转换为 JQuery 数组,然后使用 inArray() 如果复选框值在数组中,则它将检查,否则不检查。感谢您的回复....好友
猜你喜欢
  • 2012-03-25
  • 2016-01-08
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多