2013-06-23 121 views
0

我想解決的情況下,你有兩個選擇列表和第一和第二個選項從第一個列表中,第二個列表啓用。jQuery的某些選項選擇第一個選擇列表,啓用第二個選擇列表

好的,我有#decide#day選擇列表,#day是默認禁用。如果用戶將從#decide列表中選擇選項yes:maybe:#day列表會得到與

$('#day').prop('disabled', false); 

別人,或者如果任何其他選項被選中,將還給殘疾屬性#day啓用:

$('#day').prop('disabled', true); 

目前我只有HTML:

<select id="decide" name="decide" class="span4"> 
    <option value="0" selected="selected">--</option> 
    <option value="yes">yes:</option> 
    <option value="maybe">maybe:</option> 
    <option value="no">no</option> 
    <option value="nevermind">nevermind</option> 
</select> 
<select id="day" name="day" class="span4" disabled> 
    <option value="0" selected="selected">--</option> 
    <option value="1">monday</option> 
    <option value="2">tuesday</option> 
    <option value="3">saturday</option> 
    <option value="4">sunday</option> 
</select> 

和想法與jQuery代碼qoute的部分來解決這個問題d

這裏的jsfiddle與現狀:http://jsfiddle.net/3hwzK/

+0

你嘗試過什麼?你的小提琴中沒有JS。這不是一個「解決我的問題」的論壇。你需要放棄自己的拳頭。我們將幫助您解決問題,而不是爲您寫信。 –

+0

是啊我當然試過...因爲我寫了我用過的js,但是我從小提琴中刪除了,因爲它沒有工作......我遇到的主要問題是我的第一個列表中的值不全是在第二個列表中排序的數字......這就是我被困住的地方......如果你不相信我,那是你的事情...... – dzordz

回答

1

你可以試試這個,

  $("#decide").change(function(){ 
       if(this.value == "yes" || this.value == "maybe"){ 
        $("#day").removeAttr("disabled"); 
       }else{ 
      $("#day").attr("disabled", "true"); 
      } 
      }); 

如果您選擇的值是「yes」或「maybe」,則會啓用「#day」選擇框,否則它將被禁用。

+0

是的,我在@mohkhan例子中拼錯了一些東西,這就是我最喜歡的解決方案...謝謝 – dzordz

+1

'attr'不再使用。嘗試將其改爲「道具」 – krishgopinath

1

我說這個JS代碼:

$("#decide").change(function() { 
    $('#day').prop('disabled', false); }); 

工作大帝JSFiddle

+0

謝謝,但這不是解決方案......因爲必須啓用第二個#日誌列表只有選擇'是:'或'可能:'從第一個列表....選擇其他選項,#day不會啓用 – dzordz

1

這應該工作...

$(document).on('change', "#decide", function(){ 
if(this.value == "yes" || this.value == "maybe"){ 
    $("#day").removeAttr("disabled"); 
}else{ 
    $("#day").attr("disabled", "true"); 
} 
}); 
+0

這已經是...但我真正的需要是啓用是也許選擇...像這樣的http://jsfiddle.net/SDzUS/ 但不是其他部分似乎不工作,爲什麼? – dzordz

1

你也可以用這種方法.. http://jsfiddle.net/3hwzK/3/

$("#decide").change(function() { 
    var valid_answers = ['yes', 'maybe']; 
    var is_disabled = ($.inArray($(this).val(), valid_answers) > -1) ? false : true; 
    $('#day').prop('disabled', is_disabled); 
}); 
相關問題