回发后如何在下拉列表中保留所选值
How to preserve selected value in drop-down list after postback?
$("#county_id").change(function() {
$("#vice_county_id").html("<option value='"'">-- Select One --</option>");
var co_id = $(this).val();
if(co_id != 0) {
$.getJSON('./php/includes/vice_county_web_service.php?co_id=' + co_id,function(data) {
$.each(data, function() {
$("#vice_county_id").append($("<option></option>").val(this['vice_county_id']).html(this['vice_county_name']));
});
});
}
});
嗨,伙计们,我有上面的代码,用于根据另一个下拉列表中的选择在一个下拉列表中加载选项。它工作正常,但要完成此操作,我正试图让它变得粘稠。即,如果表单已发布并且县已经选择了值,则副县会预先加载相关选项。基本上在加载时触发 .change 功能。我已经尝试了 .load 和触发器处理程序功能,但它似乎不起作用。有什么想法吗??谢谢。
据
我所知,为了预填充表单,您需要使用服务器端代码。 你说用户在某处发布了他的代码,但你没有说表单帖子是如何处理的。
我在工作的地方使用 ASP.net,因此每个下拉列表的值都有一个服务器端属性。 然后,当页面呈现时,我将属性的值打印到我的 JavaScript 代码中。 您需要让您的 JavaScript 代码将属性selected='selected'
添加到您希望在页面加载时选择的选项。
更新:听起来您是在说您选择下拉列表 1,然后会自动填充下拉列表 2 的选项。 听起来问题是回发后无法保留下拉列表 2,因为它的选项是在页面加载后填充的(通过 AJAX(。 我相信您的问题的解决方案是在代码中设置选定的属性,当您通过 AJAX 成功获取下拉选项时,该属性将运行。
$.each(data, function() {
$("#vice_county_id").append($("<option></option>").val(this['vice_county_id']).html(this['vice_county_name']));
//Check if the option being added was previously selected.
});
使用 Cookie 存储下拉更改事件的值。
当表单加载时,使用相同的 cookie 检索值并向用户显示他选择的内容。
但是不建议为这项任务维护cookie。
如果 JSTL 是 JSP 页面,则可以使用它。
饼干创建指南http://www.quirksmode.org/js/cookies.html
相关文章:
- 如何使用jQuery选择下拉列表的值
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 禁用jQuery中的下拉列表
- 提交后保留下拉选择的值
- 如何在按钮中显示下拉列表中选定的元素
- 保留动态创建的下拉列表's在事件窗口.history.back()上选择的值-JavaScript
- 更改URL并保留“更改”事件下拉列表中的值
- 保留下拉列表的表单值
- 使用 javascript 将项目添加到下拉列表中并保留在回发中
- 在城市下拉列表中保留值(第4部分)
- 剑道UI输入焦点-在选择和Ajax调用之后,下拉列表保留焦点
- 如何使用默认值填充文本字段或将其保留为空,所有这些都取决于下拉列表中的选择
- 返回和保留选择的下拉列表函数
- 如何使用JS保留下拉列表的值
- 保留ASP的选定值.. NET下拉列表由JavaScript重新构建
- 页面刷新后保留下拉列表的选定值
- 如何在回发后保留下拉列表数据