2013-12-10 24 views
0

如何在更改后禁用每个选择框?使用jQuery禁用多个选择框onchange

HTML:

<select class="URating" step="1"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
</select> 
<div id="result_1"></div> 


<select class="URating" step="2"> 
    <option value="Lancer">Lancer</option> 
    <option value="BMW">BMW</option> 
</select> 
<div id="result_2"></div> 

的jQuery:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".URating").change(function(){ 
    var steps = $(this).attr("step"); 
    $.post('rating/module.php', {RatingID:$(this).val(), News:"15", Step:steps}, 
     function(data){ 
     $("#result_"+steps).html(data); 
     //DISABLE THIS SELECT BOX HERE 
     }); 
    }); 
}); 
</script> 
+0

禁止什么选择框,是我们应该知道你的Ajax功能的回报? – adeneo

+1

我认为OP就是他们刚刚选择的那个。我们不需要知道ajax函数返回什么,因为'steps'变量是在ajax调用之外定义的。 – mayabelle

+0

@mayabelle,这是正确的 – Alireza

回答

1

这应该工作:

$(document).ready(function(){ 
    $(".URating").change(function(){ 
    var steps = $(this).attr("step"); 
    $.post('rating/module.php', {RatingID:$(this).val(), News:"15", Step:steps}, 
     function(data){ 
     $("#result_"+steps).html(data); 
     $('select[step=' + steps + ']').prop('disabled', 'disabled'); 
     }); 
    }); 
}); 
+0

非常感谢。像魅力一样工作 – Alireza

+0

不客气!如果它对您有帮助,请点击对勾来随意接受。 :) – mayabelle

+0

当然,我必须等4分钟多点击接受按钮。 – Alireza

1
<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".URating").change(function(){ 
    var $select = $(this); 
    var steps = $select .attr("step"); 
    $.post('rating/module.php', {RatingID:$(this).val(), News:"15", Step:steps}, 
     function(data){ 
     $("#result_"+steps).html(data); 

     //DISABLE THIS SELECT BOX HERE 
     $select.attr('disabled','disabled'); 
     }); 
    }); 
}); 
</script>