当前位置: 代码迷 >> Java Web开发 >> jQuery ajax 不刷新页面动态获取select的option解决思路
  详细解决方案

jQuery ajax 不刷新页面动态获取select的option解决思路

热度:406   发布时间:2016-04-16 21:47:26.0
jQuery ajax 不刷新页面动态获取select的option
页面上有一个select,我希望实现每当我点击这个select就用ajax从后台读取数据库的值作为option,显示成下拉列表,option的数量和值都不固定,需要每次选择时都从数据库读而不刷新整个页面,只想刷新select的下拉列表。
用了click事件,点击后虽然能读出数据库的数据,但是在ie下就直接把下拉框收上去了,无法选择,而在chrome下可以选择,但是点击某个option的时候貌似又触发了一次click事件,导致所选的option被刷新成默认的了。求高手给个解决方案
希望依然能用jQuery、ajax实现

jQuery的ajax代码是这样写的:

$("#condition1").change(function(event){
$.ajax({
url:getRootPath()+"/df/data_append/select_condition1.do",
data:{condition:condition_name},
type:"POST",
dataType:"json",
timeout:5000,
success:function(json){
var select_option;
$.each(json.selected_option_value,function(i, item){
select_option = item;
});
var options_str = "";
$("#condition1").html("");
$.each(json.options,function(i, item){
options_str += "<option value=\"" + item.value + "\" >" + item.label + "</option>";
        });
$("#condition1").append(options_str);
},
error:function(xhr, status){
alert("error");
}
})});


其中#condition1就是select的id
------解决思路----------------------
不明白你的意思,change事件一概是下拉框选定的内容变更了才执行,开始选的是a,后面选择的是b,这时候执行change事件
------解决思路----------------------
我也看不明白你想干什么,想干级联菜单么,级联菜单的话直接用change时间就行了,每次都不同这个还会第一次听说
------解决思路----------------------
不要用select 用eaayui里有的组件,好像叫combox,看看API其用法
------解决思路----------------------
建议页面加载时,用getJSON方法取出数据 append到select里
  相关解决方案