onchange事件是由你用鼠标选择不同的下拉选项触发,而不是直接赋值$("#下拉框ID").val(某个值)

解决方案 »

  1.   

    给你一个例子
     <s:select onchange="budgetTypeSelect(this.value)"  id="budgetTypeId"  value="financeBudget.financeBudget.type"
    name="financeBudget.financeBudget.type" headerKey="0"  list="#{0:'月',1:'季',2:'年',3:'任意时间段'}"  />
      

  2.   


    $("#下拉框ID").change();/*触发change事件*/
      

  3.   


    现在关键是直接赋值以后不会触发change事件,所以怎么才能在直接赋值以后触发change事件啊?
      

  4.   

    直接赋值,直接运行那个函数不行吗?一定要change转一下?
      

  5.   


    用$("#下拉框ID").change();手动触发一下。
      

  6.   

    真不习惯jq的处理方法,bbjbepzz的方案应当对头。 .change()
    为 "change" 事件绑定一个处理函数,或者触发元素上的 "change" 事件。这个感觉还是喜欢用Mootools的.fire("change");
      

  7.   

    change事件会在元素失去焦点的时候触发,也会当其值在获得焦点后改变时触发。
    是失去焦点时候促发。。  如果你那里有用。。希望给个例子。不知为何,我这 select 不用鼠标。就触发不了 change 事件
      

  8.   

    如果select被重新封装到一个JS组件中,如果select本身不能处理选中值改变事件,而要靠外部激活的话,哪这个组件使用起来不是很麻烦?每次用这个组件变改变选中值时(比方说进页面设置默认值),都要手动调用change 事件?哪这组件也太失败了.
      

  9.   

    onChange只能改值以后,并且此元素失去焦点以后才能触发,
    可以赋值后,用jq的trigger来触发
    $('#slt').trigger('change');