2013-05-03 135 views
0

我正在爲我的網站開發一個日曆應用程序,並且我處於一片泡菜中。下面是應用程序的一部分,我需要的幫助的HTML:禁用複選框和下拉列表

<table border="0" cellpadding="2" cellspacing="4"> 
<tbody> 
<tr> 
<td class="main b_width"><strong>Repeat Every:</strong></td> 
<td class="main width"> 

<select name="Day"> 

<option value="1" selected>no recurrence</option> 
<option value="2">days</option> 
<option value="3">weeks</option> 
<option value="4">month by day</option> 
<option value="5">month by week</option> 

</select> 

</td> 
</tr> 

<tr> 
<td class="main b_width"><strong>At Days:</strong></td> 
<td class="main b_width"> 

<select name="Day"> 

    <option value="1" selected>First</option> 
    <option value="2">Second</option> 
    <option value="3">Third</option> 
    <option value="4">Fourth</option> 

</select> 

<input type="checkbox" name="Monday" ;>&nbsp;Mon&nbsp; 

</td> 
</tr> 

什麼,我想知道的是,所創建,在第一個選項「不復發」的第一選擇中,我將如何做所有其他的選擇框和複選框不活動,禁止他們,所以沒有數據可以選擇,任何幫助將是非常讚賞

+1

可能重複[如何禁用多個選擇選項](http://stackoverflow.com/questions/16069204/how-to-disable-multiple-select-options) – 2013-05-03 16:10:22

回答

0
$('table :input:gt(0)').prop('disabled', true); 
$('#recur').change(function() { 
    $('table :input:gt(0)').prop('disabled', ($(this).val() == 1)); 
}); 
你的榜樣

jsFiddle example

的一個問題是,雖然你有含多處e選擇具有相同名稱的元素。我更新了您的HTML,爲他們提供了唯一的ID。查看HTML的小提琴。

1

試試這個:

$('select[name=Day]').eq(0).change(function() { 
    $('select[name=Day]').eq(1).prop('disabled', (this.value === '1')); 
    $('input[name=Monday]').prop('disabled', (this.value === '1')); 
}).change(); 

FIDDLE

0

試試這個方法:

$("#Day").change(function(e){ 
     if($(this).val()=='1'){ 
      $("#Day2").attr("disabled","disabled"); 
     } 
    }); 
+0

a)沒有元素的ID爲「日「('$(」#Day「)')和b)如果用戶再次更改下拉菜單,您如何建議不禁用其他輸入? – j08691 2013-05-03 16:22:03

+0

只是一個例子,不解決問題,但顯示方式。 – 2013-05-03 16:28:52

+2

所以你說你的答案只是一個例子,並不是一個真正的答案?更不用說它不起作用。 – j08691 2013-05-03 16:31:09

0

您需要使用JavaScript來達致這。
的ID recurrence添加到您的第一個選擇框和類recurrence-input到要當選擇不復發被禁用,並使用以下的javascript(使用jquery)的每一個元素:

$('#recurrence').on('change', function() {} { 
    if ($(this).val() === '1') { 
     $('.recurrence-input').attr('disabled', 'disabled'); 
    } else { 
     $('.recurrence-input').removeAttr('disabled'); 
    } 
}); 

如果no-recurrence是默認值爲您的選擇框,那麼當文檔加載時,您應該使其他輸入被禁用。