我有2个单选按钮和2个输入字段。我想将单选按钮与输入字段关联,因此仅启用所选单选按钮的输入字段,而禁用其他按钮。
我的html标记是:
<div>
<input type="radio" checked="checked" name="co" data-for="s" />
<input type="text" id="s" />
<br /><br />
<input type="radio" name="co" data-for="u"/>
<input type="text" id="u" disabled="disabled" />
</div>
因此,目前检查第一个单选按钮,并启用其输入字段。我怎么能用一些jquery代码做到这一点?
修改
我试过了:
$("input[type=radio][name=co]").bind({
change: function () {
if ($(this).attr("checked") == "checked")
$("#" + $(this).attr("data-for")).removeAttr("disabled");
else
$("#" + $(this).attr("data-for")).attr("disabled", "disabled");
}
});
答案 0 :(得分:3)
试试这个 - http://jsfiddle.net/DMasH/
$("input:radio").on("click", function() {
$("input:text").attr("disabled", true);
$(this).next("input").attr("disabled", false)
});
答案 1 :(得分:0)
$("input[type='radio']").click(function() {
$("input[type='text']").attr("disabled", "disabled");
if ($(this).next().attr("disabled") == "disabled") $(this).next().removeAttr("disabled");
else $(this).next().attr("disabled", "disabled");
});
禁用所有框,然后仅启用下一个框。
答案 2 :(得分:0)
解决方案 - http://jsfiddle.net/4uQqE/2/
$('input[data-for]').change(function() {
target = $('#'+$(this).data('for'));
$('input[type="text"]').attr('disabled','disabled');
if($(this).is(":checked")) {
target.removeAttr('disabled');
}});