在 <select name="province" class="addCText"
              onChange="getCityList();"id="province_id">后通过function getCityList(){
alert($("#province_id").val());
}调用onChange事件后不能触发alert呢?大家帮我看看:
省份
           </td>
           <td>
            <select name="province" class="addCText"
              onChange="getCityList();" id="province_id">
             <option value="">
              ---
             </option>
             <s:iterator value="#request.sProvinceList" id="sProvince">
              <option value="${sProvince.name}">
               ${sProvince.name}
              </option>
             </s:iterator>
            </select>function getCityList(){
alert($("#province_id").val());
}
运行程序,点击省份下拉选项时alert没有弹出,本想可能是jquery没有导入做了如下的尝试$(function getCityList(){alert($("#province_id").val());});,运行程序可以弹出对话框,但没有相应的值.相应完整的代码:function getCityList(){
//取得省份
var province_str = $("#province_id").val();
//将省份进行escape
var queryString = {name:province_str};
//通过ajax方式传递数据
$.ajax({
  type:"post",
  ",
  data:queryString,
  dataType:"json",
  success: function(msg) {
            $("#city_id").html("");
            var str = "<option value=1>---</option>";
            for(var i = 0; i < msg.SCities.length;i++){
             //alert(msg.SCities.name);
             str+="<option value="+msg.SCities.name+">"+msg.SCities.name+"</option>"
            }
            $("#city_id").html(str);
        }
});
}运行程序后,点击下拉框依然没有反应(没有弹出对话框),下载getCities.action文件后所查询出的值完整,请和大家帮我分析分析问题出在哪里,对这种运行里连报错都不给我一个的问题我是对他没有办法,我万分感谢大家了!我是想通过jquery做一个级联效果

解决方案 »

  1.   

    在firefox或是chrome调试下。建议先把
    alert($("#province_id").val()); 
    改成原生js  document.getElementById('province_id').value试试
      

  2.   

    onchange是当select的value改变时触发js,而不是点击触发
      

  3.   

    看了你写的代码没有问题,既然没有弹出 应该是没有正确的引入JQuery的jar包。另外 我这里有个JQuery写的。ajax做的级联菜单的例子,如果需要可以发给你。QQ -  33373387 可以传给你。
      

  4.   

    onchange是当select的value改变时触发js,而不是点击触发.最好用联动。比如:第一个列表发生变化了,第二个先删除原来的item,然后再添加进来最新的item,我试过的。这样也不用刷新,很好用的。
      

  5.   

    你们说的onchange是当select的value改变时触发js这个我差不多也清楚,但是这个问题就是不太清楚当value值有了变化后就是不能触发js代码:
    $(function(){
      $("#province_id").change(function(){
       alert(this.value);
    });});这样是能触发的,有谁能帮我想想帮我找找上面代码的错
      

  6.   


    你这个是JQEURRY 是吧1.加群学习 交流:69705156解决。。
      

  7.   

     在onchange的时候 你应该是遍历select下的所有节点childNodes
    当哪个节点的selected=true的时候
    你将其打印出该节点的value
      

  8.   

     <select name="province" class="addCText" 
                 onChange="getCityList();" id="province_id"> 
                <option value=""> 
    把那个onChange="getCityList()"里面的“;”去掉试试了,嘿嘿,应该是粗心问题啊
      

  9.   


    onchange用来做二级联动是正确的(值不改你就查?)
    LZ要是想点下拉就出提示 可以用onclick 如果想焦点移动到上面就提示 可以用onfocus 如果想做二级联动 可以用onchange
    jquery的人真多啊...如果还不好使 补充问题
      

  10.   


        onchange是当select的value改变时  触发的事件 你可以找找资料看看