无法从复选框中获取值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法从复选框中获取值相关的知识,希望对你有一定的参考价值。
我有一个包含输入,下拉列表和3个复选框的表单。我需要从这个表单中获取值并将数据保存在后端。
输入和下拉列表中的值即将到来,但我无法获取复选框的值。
我让复选框看起来像一个标签,所以它们看起来像这样
提交表单后,复选框的值始终为“on”,而我希望它应该是真或假,具体取决于用户是否检查过它
形成
<form id="search_form" method="post" >
<input id="fullname" name="fullname" type="text">
<select name="location" id="location">
<option value="">Location</option>
<option value="A">A</option>
<option value="B">B</option>
</select>
<input type="checkbox" name="XID_name" value=1 id="XID"/>
<label class="a" for="XID">X </label>
<input type="checkbox" name="YID_name" id="YID" />
<label class="a" for="YID">Y </label>
<input type="checkbox" name="ZID_name" id="ZID" />
<label class="a" for="ZID">Z </label>
<button type="submit" id="save" >SEARCH</button>
</form>
脚本
<script type="text/javascript">
$("#search_form").submit(function(e) {
e.preventDefault();
var fullname = $("#fullname").val();
var location = $("#location").val();
var XID = $("#XID").val();
var YID = $("#YID").val();
var ZID = $("#ZID").val();
$.ajax({
type: "POST",
url: "ABC/DEF",
data: { fullname:fullname, location:location, XID:XID, YID:YID, ZID:ZID },
success: function(data){
console.log(data)
}
});
})
</script>
后端
<?php
$data = array(
'fullname' => $this->input->post('fullname'),
'location' => $this->input->post('location'),
'XID' => $this->input->post('XID'),
'YID'=>$this->input->post('YID'),
'ZID' => $this->input->post('ZID'),
);
echo "<pre>";
print_r($data);
echo "</pre>";
?>
结果数组
Array
(
[fullname] =>
[location] =>
[XID] => on
[YID] => on
[ZID] => on
)
谁能告诉你如何解决这个问题?
答案
在jquery中,您必须选中是否选中了复选框。根据它,你必须传递价值
var XID = $("#XID").prop('checked');
var YID = $("#YID").prop('checked');
var ZID = $("#ZID").prop('checked');
以上是关于无法从复选框中获取值的主要内容,如果未能解决你的问题,请参考以下文章
如何从复选框中获取值并使用 javascript 计算单击的项目
从 Fragment 中的适配器(recyclerview)获取所有项目