Я ищу плагин 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>
В этом случае выбор должен быть включен, только если проверено "boo".
Мне удалось придумать код, который делает что-то вроде этого:
$("*[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();
});
, кажется, работает нормально для выбора, который зависит от радио, но я хочу реализовать это для любого типа ввода или комбинации (или, по крайней мере, для большинства из них), без необходимости писать отдельный код длякаждый тип ввода.
в любом случае, кто-нибудь знает такой плагин?или может быть есть предложения к моему коду выше?:)