1

我想通过 发送复选框值GET,但输出始终为“开启”。为什么?如果复选框被选中,我想输出'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>&nbsp;</td>
        <td>    
            <div class="searchBtn">&nbsp;</div>
        </td>
    </tr>
</table>
4

3 回答 3

1

试试这个

<input type="checkbox" name="domain" id="domain"  value="ON"/>
于 2013-07-05T09:55:48.347 回答
0

已勾选的复选框的默认值*为“on”。如果你想覆盖它,你必须value在你的输入中包含这个属性,你还没有这样做。例如:

<input type="checkbox" name="domain" id="domain" value="on" />

现在,当您通过 AJAX 调用发送输入时,无论它是否被检查,并且只是想根据其检查属性更改您发送的值,您需要将 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);
});


*实际上,准确地说,复选框没有默认值。它们具有开/关开关状态,并且仅在打开复选框时才提交值。在缺少required value属性的情况下,大多数浏览器将开关状态(或“on”)作为默认值发送。

于 2013-07-05T09:58:19.640 回答
-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());
    });
});
于 2013-07-05T10:25:57.883 回答