有关于修改select控件的value,会不会触发change事件

aaajedll 2010-09-27 04:16:15

/*页面加载的时候*/
$("#slt_BaseInfo_DomicileProvince").change(function() {
$("#slt_BaseInfo_DomicileDistrict").empty();
if($("#slt_BaseInfo_DomicileProvince").val() == '') {
$("#slt_BaseInfo_DomicileCity").empty();
}
else {
AreaBind($("#slt_BaseInfo_DomicileCity"),"4",$("#slt_BaseInfo_DomicileProvince").find("option:selected").attr("id"));
}
});

/*点编辑按钮的时候*/
$("#slt_BaseInfo_DomicileProvince").val($("#sp_BaseInfo_DomicileProvince").html());


我的问题是为什么在点编辑的时候,没有触发$("#slt_BaseInfo_DomicileProvince").change()这个事件,如果说val()这个方法不会触发change()事件,那是不是因为没有设置selected属性,还是其他原因,请问怎么解决这个问题
...全文
487 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaajedll 2010-09-28
  • 打赏
  • 举报
回复

/*点编辑按钮
我想实现的功能:就是在省级发生变化的时候,得到省级的ID,访问数据库返回省级下市级的数据,进行绑定,然后通过$("#sp_BaseInfo_DomicileCity")修改$("#slt_BaseInfo_DomicileCity")的value

$("#slt_BaseInfo_DomicileProvince")省级对象 select标记
$("#slt_BaseInfo_DomicileCity")市级对象 select标记
$("#sp_BaseInfo_DomicileProvince")省级对象 span标记
$("#sp_BaseInfo_DomicileCity")市级对象 span标记
*/
$("#slt_BaseInfo_DomicileProvince").val($("#sp_BaseInfo_DomicileProvince").html());
if($("#slt_BaseInfo_DomicileProvince").val() == '') {
$("#slt_BaseInfo_DomicileCity").empty();
}
else {
AreaBind($("#slt_BaseInfo_DomicileCity"),"4",$("#slt_BaseInfo_DomicileProvince").find("option:selected").attr("id"));
}
$("#sp_BaseInfo_DomicileProvince").hide();
$("#slt_BaseInfo_DomicileProvince").show();

$("#slt_BaseInfo_DomicileCity").val($("#sp_BaseInfo_DomicileCity").html());
if ($("#slt_BaseInfo_DomicileCity").val() == '' || $("#slt_BaseInfo_DomicileCity").val() == null) {
$("#slt_BaseInfo_DomicileDistrict").empty();
}
else {
AreaBind($("#slt_BaseInfo_DomicileDistrict"), "4", $("#slt_BaseInfo_DomicileCity").find("option:selected").attr("id"));
}
$("#sp_BaseInfo_DomicileCity").hide();
$("#slt_BaseInfo_DomicileCity").show();


/*地区绑定*/
function AreaBind(AreaObj,AreaType,AreaID) {
$(AreaObj).empty();
$.ajax({
url: "Ajax/ResumeInfo.ashx",
data: {
param:"AreaBind",
AreaID:AreaID,
AreaType:AreaType
},
cache:false,
dataType: "html",
type: "GET",
success: function(data) {
$(AreaObj).append("<option value=''>请选择</option>");
$(AreaObj).append(data);
}
});
}
pigHead_chen 2010-09-28
  • 打赏
  • 举报
回复
另外,当用程序来改变select的selected属性时onchange 事件不会触发。
pigHead_chen 2010-09-28
  • 打赏
  • 举报
回复
你这样写不会触发change

原话是这样的“Alter text in the text area and then navigate out of the object. ”时,才会触发。你好像只是改变了值。


licip 2010-09-28
  • 打赏
  • 举报
回复
如果你用页面点击的方式去改变值的话,会触发这个事件,但如果你用js的代码去改变这个值的话,可能不会触发呀。
aaajedll 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lanchangsheng 的回复:]
对于SELECT控件 change() 是针对选择的索引,跟选项的值没关系吧
[/Quote]

val属性不是指当前选中项吗?选中项变了,难道不会触发change() 事件?
lanchangsheng 2010-09-28
  • 打赏
  • 举报
回复
对于SELECT控件 change() 是针对选择的索引,跟选项的值没关系吧
aaajedll 2010-09-28
  • 打赏
  • 举报
回复
没人会这个问题?

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧