选中的复选框(动态创建)值应设置为目标文本字段

时间:2015-01-16 13:06:00

标签: javascript jquery html spring jsp

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

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>

1 个答案:

答案 0 :(得分:0)

试试这个

$(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中,您将获得已选中复选框的名称。 希望这就是你所需要的!