function LoadData(id) {
var employeeId = $.trim($("#employeeId").val());
var employeeType = $.trim($("#employeeType").val());
var obj = "";
var CityId = $.trim($("#ddlCity").val());
obj = new ViewModel1(employeeId, employeeType, 0, $.trim($("#DeptName").val()), "", "", $.trim($("#SectionName").val()), CityId);
var postedData = JSON.stringify(obj);
Loader();
$.ajax({
//...........
//...........
})
}
我有上面的函数,我想在元素#ddlCity中获取先前选择的值。上面的函数从下面的行中调用。
@Html.DropDownGroupListFor(m => m.CityId, Model.GroupedTypeOptions, new { name = "ddlCity", id = "ddlCityName", @onchange = "javascript:LoadData(this.value)" })
var CityId = $ .trim($(“#ddlCity”)。val());在下拉列表中给我新选择的CityId。
那么我如何获得之前选择的CityId?
答案 0 :(得分:2)
我会将它存储在select标签的属性中。
说这是你的HTML
`<select data-last-selection>
...
</select>`
现在将这样的内容添加到您的javascript中
$("[data-last-selection]").change(function() {
var previousData = $(this).data("lastSelection");
$(this).data("lastSelection",$(this).val());
// Handle the previous data now stored in previousData variable
});
答案 1 :(得分:2)
也可以将我的评论发布为答案(也是:)。
让onchange
将新值存储为select元素上的data-
属性/数据存储。然后,您可以在后续更改中将其选中。
e.g。 http://jsfiddle.net/TrueBlueAussie/bLc12tu0/
$(".selector").change(function() {
// Get the previous value (if any)
var prev = $(this).data("prev");
// Store the new value for next time
$(this).data("prev",$(this).val());
$('#output').html(prev);
}).each(function(){
// Also save any initial dropdown value as the previous value (for each select)
$(this).data("prev", $(this).val());
});