2013-12-10 27 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>