我在应用程序中使用了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());
}
}