【问题标题】:how do i get the checkbox value in ajax/jquery when using spring form使用spring表单时如何获取ajax/jquery中的复选框值
【发布时间】:2015-05-29 15:58:27
【问题描述】:

我有一组由 path deliveryStatus 定义的复选框,如下所示

<form:checkbox path="deliveryStatus" value="notDelivered"/>
<form:checkbox path="deliveryStatus" value="delivered"/>

我读了两个很好的例子

Example #1

Example #2 from StackOverflow

我注意到 ID 是作为 deliveryStatus1 和 deliveryStatus2 而不是 deliveryStatus 因此示例 #1 中提到的方法对我没有直接作用。此外,当使用示例 #2 中提到的解决方案时(考虑到父标签 ID 为 deliveryStatus),我没有得到任何结果。

$('#deliveryStatus').is(":checked");

返回 false 和

$('#deliveryStatus').val();

给我未定义

在 jquery/ajax 中为我的表单(deliveryStatus)获取选中/选中复选框的正确方法是什么。

在我意识到 ID 为 deliveryStatus1 和 deliveryStatus2 后,我注意到下面的代码有效

var deliverystatus =  $('#deliveryStatus1').val();
alert( 'deliverystatus' );
deliverystatus = $('#deliveryStatus1').is(":checked");
alert( deliverystatus );
deliverystatus = $('#deliveryStatus2').is(":checked");
alert( deliverystatus );

但不要觉得这是获得选中选项的正确方法。 原因是有多个复选框。

阅读示例 #1 我正在考虑应该有更好的方法来读取具有相同路径值的多个复选框


问题更新

像下面这样显式添加 ID

<form:checkbox path="deliveryStatus" id="deliveryStatus" value="notDelivered"/>
<form:checkbox path="deliveryStatus" id="deliveryStatus" value="delivered"/>

允许我通过

获得价值
$('#deliveryStatus:checked').val();

这仅在有一个选择时有效。因此在多选时可能不是很正确

【问题讨论】:

    标签: javascript jquery ajax spring checkbox


    【解决方案1】:

    当您有多个具有相同路径变量的复选框时,它们将使用相同的名称呈现,如下所示。

    <form:checkbox path="deliveryStatus" value="notDelivered"/>
    <form:checkbox path="deliveryStatus" value="delivered"/>
    

    将呈现为

    <input id="deliveryStatus1" name="deliveryStatus" type="checkbox" value="notDelivered"/>
    <input id="deliveryStatus2" name="deliveryStatus" type="checkbox" value="delivered"/>
    

    您可以使用下面的方法获取复选框的值。

    $("input[name='deliveryStatus']:checked").each(function (){
        alert($(this).val());
    });
    

    如果您只想获取所有已选中的值,无论是否选中,请使用以下内容。

    $("input[name='deliveryStatus']").each(function (){
        alert($(this).val());
    });
    

    希望这会有所帮助。

    【讨论】:

    • 感谢您的澄清。这很有趣。我在之前的帖子中也跟着你的解释。感谢您帮助新手
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 2017-08-13
    • 1970-01-01
    • 2012-07-03
    • 2011-11-22
    • 2010-11-20
    • 1970-01-01
    相关资源
    最近更新 更多