【发布时间】:2012-03-02 04:16:05
【问题描述】:
我正在尝试将无线电输入与指定的文本输入相关联。如图所示,有两种选择。我知道我可以使用for="" 将标签关联到单选输入,但是我怎样才能将它关联到下面的文本输入,反之亦然,所以当我关注文本输入时,如果关注正确的单选按钮?
注意:输入的金额将被插入数据库,因此这是此表格中最重要的部分。目前,如果我点击 $Off,我仍然可以在 %Off 中输入一个数字。我不希望这种情况发生,所以用户不会感到困惑。
我的标记:
<div class="row-fluid control-group">
<div class="span7 pull-left">
<label class="radio" for="discount-dollars">
<input type="radio" name="discount" id="discount-dollars" value="dollars" checked="checked">
$ Off
</label>
<div class="input-append">
<input type="text" name="discount-dollars-amount" id="discount-dollars-amount" class="input-small dollars" placeholder="enter amount">
<span class="add-on">.00</span>
</div>
</div><!-- .span7 .pull-left -->
<div class="span5">
<label class="radio" for="discount-percent">
<input type="radio" name="discount" id="discount-percent" value="percent">
% Off
</label>
<input type="text" name="discount-percent-amount" id="discount-percent-amount" class="input-small percent" placeholder="enter amount" disabled="disabled">
</div>
</div><!-- .row-fluid .control-group -->
<script type="text/javascript">
$(function (){
$("form input[type=radio]").click(function (){
// get the value of this radio button ("dollars" or "percent")
var value = $(this).val();
// find all text fields...
$(this).closest("form").find("input[type=text]")
// ...and disable them...
.attr("disabled", "disabled")
// ...then find the text field whose class name matches
// the value of this radio button ("dollars" or "percent")...
.end().find("." + value)
// ...and enable that text field
.removeAttr("disabled")
.end();
});
});
</script>
【问题讨论】:
-
这是什么语言/技术?我知道它至少涉及 HTML,但还有其他涉及吗?
-
我认为 jQuery 是一个很好的解决方案,但我还不是最擅长构建函数。
标签: html forms input radio-button textinput