我想通过GET
发送复选框值,但输出始终为'on'。为什么?
如果勾选复选框,我想输出'on';否则,输出null
。
我的输出如下:
jQuery的:
$(document).ready(function(){
//show loading bar
$(".searchBtn").click(function(){
$('#sub_cont').fadeIn(1500);
$("#content #sub_cont").load("enq_search.php?enq=" + encodeURIComponent($("#enq").val()) + "&hosting=" + $("#hosting").val() + "&domain=" + $("#domain").val(),hideLoader());
});
});
HTML:
<table width="500" border="1">
<tr>
<td width="102">Enquery</td>
<td width="382">
<label for="enq"></label>
<input type="text" name="enq" id="enq" />
</td>
</tr>
<tr>
<td>checkbox1</td>
<td>
<input type="checkbox" name="hosting" id="hosting" />
<label for="hosting">hosting</label>
</td>
</tr>
<tr>
<td>Checkbox2</td>
<td>
<input type="checkbox" name="domain" id="domain" />
<label for="domain">domain</label>
</td>
</tr>
<tr>
<td> </td>
<td>
<div class="searchBtn"> </div>
</td>
</tr>
</table>
答案 0 :(得分:1)
试试这个
<input type="checkbox" name="domain" id="domain" value="ON"/>
答案 1 :(得分:0)
已勾选的复选框的默认值 * 为“on”。如果要覆盖它,则必须在输入中包含value
属性,这是您尚未完成的。例如:
<input type="checkbox" name="domain" id="domain" value="on" />
现在,当您通过AJAX调用发送输入时,无论是否检查它,只是想根据其checked属性更改您发送的值,您将需要将jQuery更改为以下内容:
$('.searchBtn').click(function () {
var url = 'enq_search.php';
url += '?enq=' + ($('#enq').prop('checked') ? 'on' : 'null');
url += '&hosting=' + ($('#hosting').prop('checked') ? 'on' : 'null');
url += '&domain=' + ($('#domain').prop('checked') ? 'on' : 'null');
$('#sub_cont').fadeIn(1500).load(url, hideLoader);
});
*实际上,确切地说,复选框没有默认值。它们具有开/关开关状态,仅在打开复选框时才提交值。如果没有必需的 value
属性,大多数浏览器会将开关状态(或“打开”)作为默认值发送。
答案 2 :(得分:-1)
试试这个:
$(document).ready(function () {
//show loading bar
$('#hosting').click(function () {
var thisCheck = $(this);
if (thischeck.is(':checked')) {
thisCheck.val('true');
} else {
thisCheck.val('false');
}
});
$(".searchBtn").click(function () {
$('#sub_cont').fadeIn(1500);
$("#content #sub_cont").load("enq_search.php?enq=" + encodeURIComponent($("#enq").val()) + "&hosting=" + $("#hosting").val() + "&domain=" + $("#domain").val(), hideLoader());
});
});