我正在尋找一個這樣做的jQuery插件。jQuery - 禁用基於另一個字段選擇值的輸入字段
例如:
<label><input type="checkbox" depends_on="foo=5" name="boo" ... /> Check </label>
<select name="foo" ... >
<option value="5" selected="selected">5</option>
<option value="15">15</option>
<option value="25">25</option>
</select>
這樣的複選框將僅如果「5」選項被選擇以下啓用。
或
<select name="foo" depends_on="boo" ... >
<option value="5" selected="selected">5</option>
<option value="15">15</option>
<option value="25">25</option>
</select>
<label><input type="checkbox" name="boo" ... /> Check </label>
在這種情況下,如果「噓」檢查選擇只啓用。
我設法拿出,做這樣的事情代碼:
$("*[depends_on]").each(function(){
var source = $(this);
var dep = $(this).attr('depends_on');
var target = dep.split("=");
$("*[name='"+target[0]+"']:not(:hidden)").change(function(){
if($(this).attr('checked')) {
source.removeClass('disabled');
source.removeAttr('disabled');
}
else{
source.attr('disabled', 'disabled');
source.addClass('disabled');
}
}).change();
});
似乎對於依賴無線電選擇工作確定,但我想實現這個對於任何類型的輸入或組合(或者至少大部分),而不必爲每種輸入類型編寫單獨的代碼。
無論如何,是否有人知道這樣的插件?或者可能對我的代碼有建議? :)
謝謝。你做了一個了不起的工作!唯一的問題是input.dependsOn(radio = value)似乎不起作用 – Alex 2010-09-20 20:12:20
將查看它:) – balupton 2010-09-20 21:16:51
修正:http:// jsfiddle。net/264Yd/7/ – balupton 2010-09-21 18:11:25