kingchenchj
kingchenchj
2010-03-15 17:34
浏览 398

有谁知道jQuery easyui 中 combobox的事件处理吗?

项目要用到一个可选可编辑的下拉控件,我用了jQuery easyui中的combobox,可以出现类似自动填充的效果,这个刚好符合项目要求.但是后来发现,这个控件的onChange事件没用,到网上查了才没有这方面的问题,看了看easyui的文档,他要求onChanage要有两个参数newValue和oldValue,我不太明白,哪位兄弟帮我解决一下,谢谢.
easyui官网:http://jquery-easyui.wikidot.com/
文档:http://jquery-easyui.wikidot.com/document:combobox
我的JSP页面代码(节选)
[code="java"]

<script src="${ctx}/js/jquery.easyui.min.js" type="text/javascript"></script>
<script src="${ctx}/js/calendar.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="${ctx}/css/default/easyui.css">
<link rel="stylesheet" type="text/css" href="${ctx}/css/icon.css">
    function driverOnChanage(){
    alert("触发了事件");
}

[/code]
[code="java"]


${driver.driverName}
/s:iterator

[/code]
这个是文档上的一些内容
Events
Name Parameters Description
onChange newValue, oldValue Fires when the field value is changed.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • suziwen
    suziwen 2010-03-16 09:49
    已采纳

    看了下jQuery easyui的代码,好像它把所有的 select的onchange事件给拿掉了,所以你在整个页面里怎么调
    [code="js"]
    $('#cc').change(function(n,o){

    alert("改变值!"); //不能触发

    });

    [/code]
    都不好使,如果把
    [code="js"]

    [/code]
    去掉就管用了,
    我觉得这应该是easyui的一个BUG,
    而且你要使用他的combox的插件,应该是这样引用
    [code="js"]
    $('#cc').combobox({
    onChange : function(n,o){

         }
            });
    

    [/code]
    像你那样就根本没有使用easyui的任何功能,而是jquery的基本功能

    点赞 评论
  • wanghaolovezlq
    wanghaolovezlq 2010-03-15 19:34

    我想它是意思是easyui会传递新的值和旧的值给你写的driverOnChanage()方法,

    你应该定义成

    function driverOnChanage(newValue,oldValue){ alert(newValue + oldValue); }

    这样测试下

    点赞 评论
  • suziwen
    suziwen 2010-03-15 21:18

    [code="js"]
    $('#odriver').combobox({
    url:'combobox_data.json',
    valueField:'id',
    displayField:'text',
    onChange : function(n,o){alert(n);}
    });
    [/code]
    或这样写:
    [code="js"]
    $('#odriver').bind('onChange',function(n,o){alert(n);});

    [/code]

    点赞 评论
  • suziwen
    suziwen 2010-03-16 09:57

    必须先这样
    [code="js"]
    $('#cc').combobox({

    });

    [/code]

    以后再通过

    [code="js"]
    $('#cc').change(function(n,o){

    alert("改变值!"); //不能触发

    });

    [/code]

    得到的对像才是
    combobox对像

    否则得到的只是jquery对像

    点赞 评论

相关推荐