【问题标题】:selected checkboxes(dynamically created) values should be set to destination text field选定的复选框(动态创建)值应设置为目标文本字段
【发布时间】:2015-01-16 13:06:00
【问题描述】:

对于目标文本字段,根据输入,自动建议将显示为复选框。我可以选择一个或多个值,我的要求是在控制器端获取这些选定的值,单击搜索按钮后。如何为动态复选框实现这一点,请提供任何建议。

jquery:

$("#destinationName").autocomplete({
    source : function(request, response) {
        $.ajax({
            url: "${pageContext.request.contextPath}/showDestinations",
            type: "POST",
            data: { term : request.term },
            dataType: "json",
            success: function(data) {
                $('.dest').html("");
                $.each(data, function(i, record) {
                    $('.dest').append("<br/><input class= 'src'     type='checkbox' id='chk-" + i + "' name='" + record + "' /> " + record);  
            });

HTML:

<form method="post" id="searchForm" action="someAction/showStatistics" id="ems">
    <label>Destination</label>
    <input type="text" id="destinationName" name="destinationName" value="${someForm.destinationName}" class="field" />
    <div class="dest"></div>
    <input type="submit" class="button" value="search" />
</form>

【问题讨论】:

    标签: javascript jquery html spring jsp


    【解决方案1】:

    试试这个

    $(document).ready(function () { 
    
        var dynamicCheckbox = [];
    
        $("#destinationName").autocomplete({
             source : function(request, response) {
             $.ajax({
                  url: "${pageContext.request.contextPath}/showDestinations",
                 type: "POST",
                 data: { term : request.term },
                 dataType: "json",
                 success: function(data) {
    
                       $('.dest').html("");
                       $.each(data, function(i, record) {
                           $('.dest').append("<br/><input class= 'src' type='checkbox' id='chk-" + i + "' name='" + record + "' /> " + record);  
                       });
                 };
              });
            }
        });
    
         $('.button').on('click', function (event) {
             event.preventDefault();
             $('.dest input:checked').each(function() {
                  dynamicCheckbox.push($(this).attr('name'));
              });
              console.log(dynamicCheckbox);
          });
    });
    

    dynamicCheckbox 中,您将获得选中复选框的名称。 希望这就是您所需要的!

    【讨论】:

    • 谢谢约翰。我会尝试在星期一之前通知您,我无法通过本地网络连接到应用程序(与上述问题无关)。无论如何,这些dynamicCheckbox数组是否可以与请求一起发送,因为我想要控制器上的这些值,然后传递给DAO。像,request.getParameterValues("name");可能吗?请指教。
    • 你的意思是你想通过自动完成的ajax请求发送数据。到目前为止,dynamicCheckbox 将在单击提交按钮时具有价值。
    • 你可以stringifydynamicCheckbox数组并作为对象data中的另一个项目发送。
    • 嗨,John,点击搜索按钮后,我希望发送选中的复选框值。
    • 目标字段将在输入时自动建议值,无论我选择什么值,这些值的统计信息都将显示在搜索按钮上。控制器将负责统计部分,但是,我想要的只是将选定的值发送到控制器端,以便我可以在 DAO 中查询这些值并获取结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多