$("#sel1").change(function(){
var sel = $("#sel1").val();
$.get("testServlet?pam="+sel,null,function(data){

if ($('#sel2 option[value="' + date+ '"]').size() < 1){
  $('#sel2 option:eq(0)').attr('selected', 'selected');
  }
        else {
        $('#sel2').val(data);
        }

}); <select id="sel1">
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="3">3</option>
     <option value="4">4</option>
     <option value="5">5</option>
    </select>
    
    <select id="sel2">
        <option value="">--请选择--</option>
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="5">5</option>
     <option value="4">4</option>
    </select>
我想用jquery 当sel1被选择时 sel2相应的值也被选中,如果sel1中的值在sel2中没有,那么就显示 --请选择--
以上代码如果去掉Ajax的的话,代码能完整运行,但是一旦加上ajax的话 从回调函数里面获得data,然后把data的值给sel2的话就会报错
网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
时间戳: Fri, 15 Jul 2011 01:08:03 UTC
消息: 对象不支持此属性或方法
行: 28
字符: 2
代码: 0
URI: http://127.0.0.1:8080/testWeb/求指教

解决方案 »

  1.   

    我想说,
    1.你的AJAX回调函数没有关闭,少了结束的"}"
    这是正常关闭的代码$("#sel1").change(function(){
    var sel = $("#sel1").val();
    $.get("testServlet?pam="+sel,null,function(data){
    if ($('#sel2 option[value="' + date+ '"]').size() < 1) {
    $('#sel2 option:eq(0)').attr('selected', 'selected');
    } else {
    $('#sel2').val(data);
    }
    }
    });
    2.试试看直接修改select标签dom的selectIndex属性
    参考:http://www.w3school.com.cn/htmldom/prop_select_selectedindex.asp
      

  2.   


    网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
    时间戳: Fri, 15 Jul 2011 01:24:05 UTC
    消息: 缺少 ')'
    行: 48
    字符: 1
    代码: 0
    URI: http://127.0.0.1:8080/testWeb/
      

  3.   

    $("#sel1").change(function(){
        var sel = $("#sel1").val();
        $.get("testServlet?pam="+sel,null,function(data){
            if ($('#sel2 option[value="' + data+ '"]').size() < 1) {
                $('#sel2 option:eq(0)').attr('selected', 'selected');
            } else {
                $('#sel2').val(data);
            }
        
    });
      });
      

  4.   

    很明显是符号不匹配。
    应该是
    $("#sel1").change(function(){
    var sel = $("#sel1").val();
    $.get("testServlet?pam="+sel,null,function(data){if ($('#sel2 option[value="' + date+ '"]').size() < 1){
    $('#sel2 option:eq(0)').attr('selected', 'selected');
    }
      else {
      $('#sel2').val(data);
      }});  //这里少了,没有符号和$.get()方法的({匹配});楼主太粗心了。