如何通过get in jquery发送复选框检查值

时间:2013-07-05 09:51:34

标签: jquery ajax

我想通过GET发送复选框值,但输出始终为'on'。为什么? 如果勾选复选框,我想输出'on';否则,输出null

我的输出如下:

demo here

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>&nbsp;</td>
        <td>    
            <div class="searchBtn">&nbsp;</div>
        </td>
    </tr>
</table>

3 个答案:

答案 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());
    });
});
相关问题