我以前只用无线电输入设置了表单,因此值只有一个或另一个。客户端现在希望它是一个复选框,以便您可以一次按多个变量进行搜索。
我设置了一个测试 jQuery 方法,以确保它至少制作了正确的字符串
,如下所示:function showValues() {
var datastr = $(".formC").find("input[type='checkbox']").serialize();
$( "#bodyA" ).text( datastr );
}
$(".localSearch").on('click', showValues);
结果如下:
专业知识%5B%5D=辅助和专业知识%5B%5D=大型集团&专业知识%5B%5D=个人计划
我对AJAX,jQuery和PHP非常陌生,但这似乎是要提交的正确字符串。
现在我正在使用jQuery AJAX将值提交到我的PHP页面。
$('.localSearch').on('click', function() { //Pulls data based on radial input
var dataStr = $(".formC").find("input[type='checkbox']").serialize();
$.ajax({
type: "POST",
datatype: "html",
data: {
expertise: dataStr
},
url: "expertise.php",
success: function (data) {
$("#bodyA").html(data);
}
});
});
以下是表单的外观:(表单包含更多内容,但这些是专业知识的唯一元素.php(
<label for="agent">Agent Services:</label><br />
<label for="ancillary"><input type="checkbox" value="Ancillary" name="expertise[]" id="ancillary" />Ancillary</label><br />
<label for="smallgroup"><input type="checkbox" value="SmallGroup" name="expertise[]" id="smallgroup" />Small Group</label><br />
<label for="largegroup"><input type="checkbox" value="LargeGroup" name="expertise[]" id="largegroup" />Large Group</label><br />
<label for="medicare"><input type="checkbox" value="Medicare" name="expertise[]" id="medicare" />Medicare</label><br />
<label for="longterm"><input type="checkbox" value="LongTermCare" name="expertise[]" id="longterm" />Long Term Care</label><br />
<label for="individual"><input type="checkbox" value="IndividualPlans" name="expertise[]" id="individual" />Individual Plan</label><br />
<label for="tpa"><input type="checkbox" value="TPASelfInsured" name="expertise[]" id="tpa" />TPA Self Insured</label><br />
<label for="ppaca"><input type="checkbox" value="CertifiedForPPACA" name="expertise[]" id="ppaca" />Certified for PPACA</label><br />
<label for="acaind"><input type="checkbox" value="ACA_Ind" name="expertise[]" id="acaind" />Individual Marketplace Certified</label><br />
<label for="acashop"><input type="checkbox" value="ACA_Shop" name="expertise[]" id="acashop" />Shop Marketplace Certified <br />(small group)</label><br />
<span class="localSearch">Submit</span>
当它只处理一个值时,我让它工作,但它创建的字符串似乎是正确的字符串。对此有什么想法吗?如果您需要代码或任何东西,请告诉我!
实时站点(如果需要(
您正在序列化复选框元素集中的所有内容。 我怀疑您只需要给定属性的值(id 或值(。 并且仅检查的项目。下面是将所选复选框转储到数组中的示例:
$(".formC input:checkbox:checked"(.each(function(({ myArray.push($(this(.val(((; }(
jQuery 将选中复选框的值获取到数组中
一旦你有一个数组,你就可以遍历它,把你的sql WHERE谓词放在一起。