我现在有两个
<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="3">3</option>
     <option value="4">4</option>
    </select>我想用jquery 当sel1被选择时 sel2相应的值也被选中,如果sel1中的值在sel2中没有,那么就显示 --请选择--

解决方案 »

  1.   

    $(document).ready( function() {
        $('#sel1').change( function() {
            if ($('#sel2 option[value="' + $(this).val() + '"]').size() < 1) $('#sel2 option:eq(0)').attr('selected', 'selected');
            else $('#sel2').val($(this).val());
        }); 
    });
      

  2.   

    <select id="sel2">
      <option value="0">--请选择--</option> 加个0 代码才好使
      

  3.   


    是这样的!我在选择sel1的时候 后台会提交ajax到后台去,然后后台返回一个数据和sel2的option进行匹配,如果有那么就匹配当前的option 如果不匹配那么sel2就显示--请选择--
      

  4.   

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

    });
      

  5.   

    我写个麻烦点的        $(function () {
                $("#sel1").change(function () {
                    var $currentVal = $(this).val();
                    $("#sel2 option").each(function (key, value) {
                        if ($(value).val() == $currentVal) {                    
                            $(value).attr("selected", "selected");
                            return false;
                        } else {
                            $("#sel2 option:eq(0)").attr("selected", "selected");
                        }
                    });
                });
            });
      

  6.   

    网页错误详细信息用户代理: 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)
    时间戳: Thu, 14 Jul 2011 13:06:04 UTC
    消息: 例外被抛出且未被接住
    行: 1642
    字符: 5
    代码: 0
    URI: http://localhost:8080/testWeb/js/jquery/jquery-1.3.2.js
    消息: 对象不支持此属性或方法
    行: 25
    字符: 2
    代码: 0
    URI: http://localhost:8080/testWeb/
      

  7.   

    因为刚学 对我来讲 代码还是写的严格点好 
    另外 楼主说T5500代码报错 我觉得应该不是这个代码的错 是页面引的js有问题吧
      

  8.   

    我的js
    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);
            }

    });会在if ($('#sel2 option[value="' + data + '"]').size() < 1){ 报网页错误详细信息用户代理: 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:01:28 UTC
    消息: 对象不支持此属性或方法
    行: 33
    字符: 2
    代码: 0
    URI: http://127.0.0.1:8080/testWeb/
    错误!MD
      

  9.   

    输出了,就来拿typeof(data)我都alert了
      

  10.   

    $(document).ready(function(){
      $("#sel1").change(function(){
             $("#sel2").val($(this).val());
       });
    });
    这样可以吧。
      

  11.   

    $.get("testServlet?pam="+sel,null,function(data){
    这一句改一下试试:
    $.get('testServlet', { pam: sel }, function(data)