$('#aa').bind({
     change: function() {
      var a = $("select[@name='aa'] option:[selected]").text();
  var i = a.indexOf('S');
  var b=a.substring(0,i);
  bb(b);
 },
});
function bb(b){
var a =b;
$("select[@name='example6'] option").each(function(i){
if($(this).text() == a){
$(this).attr("disabled","disabled"); 
}
});
}
$(this).text() 不是example6中option的内容

解决方案 »

  1.   

    写法有问题吧
    1。绑定函数有那样写的吗?$('#aa').bind('click',function(e){})
    2.var a = $("select[@name='aa'] option:[selected]").text(); 
    筛选器前面有:对吗?
    var a = $("select[@name='aa'] option[selected]").text(); 或者
    var a = $("select[@name='aa'] option:selected").text();
      

  2.   

    这不是重点 重点是
    $("select[@name='example6'] option").each(function(){
    if($(this).text() == a){
    alert($(this).text());
    $(this).attr("disabled","disabled"); 
    }
        })
    $(this).text()  取出来时aa的option值 而不是 example6的option值  
      

  3.   


    但是我这里没有问题 问题是$(this)的值不是我想要的
      

  4.   

    $(select).find("option").each(function(){
      if($(this).val()==""){
       alert($(this).val());
      }
    })
      

  5.   

    额 $('#aa').bind( 是不是你绑定的问题呢 直接写个事件 看看
      

  6.   

    我觉得是函数上下文给弄混了,$(this)取的是调用change事件的对象,即$('#aa'),你把函数体弄出来,直接放到调用位置,你写个函数是不行的,容易引起混乱。
      

  7.   

    直接把函数体放bind里面和 不绑定用onChange() 都试过了 
    没的同 我抓狂了