2012-09-21 33 views
-1

我有這種形式,與1開始選擇Disabled,4個選項,我需要一個jQuery做這個:jQuery的使能選擇

如果選擇1 (上點擊)檢查是否有其他選項被選中和RESET(擦除值,並取消選中框)

如果選擇2 (上點擊) ACTIVATE選擇菜單,並檢查是否選擇了其他選項和RESET(擦除值,並取消選中框)

如果選項#3 (上如果選擇了其他選項點擊)檢查和RESET(擦除值,並取消選中框)

如果第4個選項(上KEYUP) ACTIVATE選擇菜單RESET和禁用其他選項

<!DOCTYPE html> 
<html> 
<script type="text/javascript"> 
    $(document).ready(function() 
     { 

     }); 
</script>    
<body> 
<select name="menus" id="menus" style="width:500px; height:200px" size="3" disabled="disabled"> 
<option value="">Test#1</option> 
<option value="">Test#2</option> 
</select> 
<div> 
Option #1 <input name="op1" type="checkbox" value=""> 
</div> 
<div> 
Option #2 <input name="op2" type="checkbox" value=""> 
</div> 
<div> 
Option #3 <input name="op3" type="checkbox" value=""> 
</div> 
<div> 
Option #4 <input name="" type="text"> 
</div> 
</body> 
</html> 
+0

你有試過什麼嗎? –

+0

你堅持什麼部分? –

+0

是的,我嘗試過但我沒有得到結果,我需要我沒有發佈jQuery代碼,因爲它都搞砸了 – Ered

回答

1

更新小提琴:http://jsfiddle.net/zZSJb/3/


事情是這樣的:http://jsfiddle.net/zZSJb/

$('#op1, #op3').click(function() { 
    $('input[type="checkbox"]').removeAttr('checked'); 
    $(this).attr('checked', true); 
}); 

$('#op2').click(function() { 
    $('#menus').removeAttr('disabled'); 
    $('input[type="checkbox"]').removeAttr('checked');  
    $(this).attr('checked', true); 
}); 

$('#txt').keyup(function() { 
    $('#menus').removeAttr('disabled'); 
    $('input[type="checkbox"]').removeAttr('checked').attr('disabled', true); 
}); 

您可能需要根據您的確切需求進行微調(我無法完全弄清楚!)。

+0

是的,謝謝這是主意,但當我檢查選項#1我不能取消選中它也選項#2取消選中它應該禁用再次選擇和文本字段,如果我寫東西,然後抹掉所有複選框保持禁用,並且他們應該激活如果txt值爲空 – Ered

+0

上述代碼的次要mod應滿足這些需求以及..使複選框無法檢查,你可以從上面的代碼中刪除'$(this).attr('checked',true);'行。同樣,你可以在keyup處理程序中添加一個'$(this).text()。length> 0'來實現第二個需求 – techfoobar

+0

我刪除了$(this).attr('checked',true);它不會工作 – Ered