我有一种情况,我想从一个复选框向搜索查询字符串数组发布两个值。由于设计原因,我不能只添加另一个复选框。 有问题的复选框如下所示:
<input name="wpp_search[property_type][]" value="rental_home" type="checkbox" id="choice_c"/>
<label for="choice_c">For Rent</label>
我现在在查询字符串中得到的是......
{url}?wpp_search[property_type][0]=rental_home
但我需要的是将两个值绑定到一个检查,所以我最终得到这个:
{url}?wpp_search[property_type][0]=rental_home&wpp_search[property_type][1]=building
任何简单的解决方案?只有一个其他复选框已经提供了该数组,因此我可以强制将其作为
{url}?wpp_search[property_type][0]=rental_home&wpp_search[property_type][2]=building
答案 0 :(得分:1)
您可以使用例如“|”分隔值像这样value="value1|value2"
。然后您可以使用函数explode:$p = explode("|", $value);
并获得2个值。
答案 1 :(得分:0)
通常,不可能将一个值作为两个值发送。
我可以想象的一种方法是重新配置arg_separator.input
的原始设置:
arg_separator.input = ";&"
这将允许您使用;
来分隔值,然后允许您为该值注入第二个值:
<input name="wpp_search[property_type][0]"
value="rental_home;wpp_search[property_type][1]=building"
...
/>
如果您在其他表单值中使用值;
,您自然需要正确地转义它们以使其兼容。
另一种方法是插入带有该值的隐藏字段,如果选中了复选框,则将其名称更改为正确的名称。如果未选中,则将其名称更改为不正确的名称:
<input type="hidden" name="---wpp_search[property_type][1]" value="=building" />
选择您选择的javascript参考,点击另一个复选框进行所需的DOM操作,删除名称开头的三个---
。