如何在jQuery自动完成组合框中的下拉菜单中设置值

时间:2018-08-22 19:59:25

标签: jquery jquery-ui drop-down-menu jquery-ui-autocomplete

我在应用程序中使用了struts和jquery。我有2个屏幕,都有表和列。

第一个屏幕输出一堆列,其中一个列是可单击的。当用户单击它时,它将带用户到第二个屏幕,因此我使用javascript / struts将“文件名”值传递到下一个屏幕。

firstScreen.js

function senderNameClick() {

$(".senderName").click(
        function() {

            event.preventDefault();

            var startDate = $("#datepicker").val();
            var endDate = $("#enddatepicker").val();
            var senderName = $(this).text().trim();


            var dt = new Date();

            window.location.href = 'exceptiondetail?time='
                    + dt.getTime() +'&startDate='
                    + startDate + '&endDate=' + endDate + '&senderName=' + senderName;

        });

}

我能够在第二个屏幕中获取该值,但是我无法使用该值将其设置为我的jQuery下拉值。

secondScreen.js

        var senderNameVal = $("#senderName").val();
          $("#filter").val(senderNameVal);

second_screen.jsp :这是在IE Dev工具中输出下拉菜单的方式

<select name="" id="filter">
     <option value="ACTIVE">ACTIVE</option>
     <option value="All">All</option>
     <option value="2DG">2DG</option>
     <option value="RACH">RACH</option>
     <option value="FICM">FICM</option> 
</selected>

因此,当用户单击“ 2DG”时,应将屏幕屏幕设置为“ 2DG”,并应基于该值过滤数据。

jQuery代码

function setupWidget() {
$("#filter").combobox({
    selectonly : true,
    select : function(event, ui) {
        filterData($(this));
    },
    changed : function(event, ui) {
        filterData($(this));
    },
    textdata : function(event, ui) {
        filterData($(ui.item));
    }
});

filterData($("#filter"));
}

function filterData(element) {
var tblData = $("#datadisplay").data("tableEffects");
var value = element.val();
if (value === "" || value === "All") {
    $(element).disabled = true;
    tblData.clearFilter();
    tblData.restripe();
    $(element).disabled = false;
    $("#filterValue").html(value);
    $("#filterRows").text(tblData.rowCount());
    $("#filterStartRows").text(tblData.startPageItem());
    $("#filterEndRows").text(tblData.endPageItem());
} else {
    $(element).disabled = true;
    tblData.applyFilter(value);
    tblData.restripe();
    $(element).disabled = false;
    $("#filterValue").html(value);
    $("#filterRows").text(tblData.rowCount());
    $("#filterStartRows").text(tblData.startPageItem());
    $("#filterEndRows").text(tblData.endPageItem());
}

  }

0 个答案:

没有答案