2012-05-16 46 views
2

我試圖檢查一個select框填充的值根據用戶選擇,這個選擇將填充一旦用戶選擇從other select boxes選項,現在在document.ready()選擇是空的,我需要檢查這個選擇是否仍然是空的,然後禁用一個按鈕,否則,再次啓用它。如果選擇框不爲空屬性更改

這是我試過的,它感覺到下拉框是空的,但沒有填充它時!

if ($('#course-selection').html(null)) { 
$('#show-wall-button').attr('disbaled','disabled'); 
} 

else { 
$('#show-wall-button').removeAttr('disabled'); 
} 

這個已經在頁面加載時觸發了document.ready事件!

我也嘗試過這一點,但沒有奏效

if ($('#course-selection').val(null)) { 
    $('#show-wall-button').attr('disbaled','disabled'); 
    } 

    else { 
    $('#show-wall-button').removeAttr('disabled'); 
    } 
+0

首先,使用'val(null)'方法意味着您試圖設置值,而不是_get_值。如果您只想要_get_值,請使用'val()'。其次,在用戶填充後,什麼時候檢查select的值會發生? – Tejs

+0

'disabled'拼寫爲'disbaled',這是錯誤的 – swapnilsarwe

+0

@swapnilsarwe'sisabled'拼寫爲'disabled' :) – mattytommo

回答

1

你可以試試這個:

$('#show-wall-button').prop('disabled', $('#course-selection').is(':empty')) 
+0

我試過這在我的腳本,但它沒有奏效,我刪除了所有我寫的,我需要把它放在一些地方在我的腳本里面?不孤單 ? –

+0

@Bader H Al Rayyes在'$(document).ready(function(){.....})'後面運行代碼。 – undefined

0

嘗試,如:

if ($('#course-selection').val() === '') { 
    $('#show-wall-button').prop('disbaled', true); 
} 

else { 
    $('#show-wall-button').prop('disabled', false); 
} 

從API:http://api.jquery.com/prop/

0
if ($('#course-selection').val(null)) 

應該

if ($('#course-selection').val() == '') 
0

$('#course-selection option').length怎麼樣,而不是你目前使用的條件? 無論如何,我覺得可能有更好的方法來做你想做的事,而不必檢查選擇框內是否有選項標籤。

0

檢查<select>的內容是有點亂。你如何做一些類似於添加屬性data-populated="false"的東西,並在填充它時將其設置爲true。然後,您可以檢查條件中元素的屬性狀態。

0

去@Raminson

的建議,但在本例中disabled拼寫錯誤(disbaled),因此它不會removeAttr disabled填充時,堂妹已經向其分配是錯誤的拼寫disbaled

0
屬性
<select id="course-selection"> 
    <option value="">null</option> 
    <option value="1">option1</option> 
</select> 
如果你想

獲得選擇的值:

if($("#course-selection option:selected").val()=="") 
    $('#show-wall-button').attr('disbaled', true); 
else 
    $('#show-wall-button').removeAttr('disabled'); 

,如果你想牛逼o獲得選定的文本:

if($("#course-selection option:selected").text()=="null") 
    $('#show-wall-button').attr('disbaled', true); 
else 
    $('#show-wall-button').removeAttr('disabled'); 
相關問題