我有一个用于在复选框之后隐藏/显示文本框的功能,它工作得很好,直到有一天我将检查组更改为单选按钮组。我使用的功能是这样的
var U={
HideOptions: function() {
$(".option").each(function() {
if ($(this).closest("li").find(".extra").length) {
if ($(this).find("input").is(":not(:checked)")) $(this).closest("li").find(".extra").hide();
$(this).find("input").change(function() {
$(this).closest("li").find(".extra").toggle().find(".checkgroup .extra").each(function() {
$(this).hide();
if ($(this).closest("li").find(".option input").is(":checked")) $(this).show();
});
});
}
});
},
ChangeToRadio: function(selector) {
var $checkbox = $("input[name=" + selector + "]");
$checkbox.click(function() {
if ($(this).attr('checked')) {
$checkbox.removeAttr('checked');
$(this).attr('checked', true);
}
});
}
}
我的html结构是这样的
<ul class="checkgroup>
<li>
<div class="option">
<input id="abc" type="checkbox" value="0" name="chk">Yes
</div>
<div class="extra"><input id="abc1" type="text" value="" > </div>
</li>
<li>
<div class="option">
<input id="edf" type="checkbox" value="1" name="chk"> No
</div>
<div class="extra"> <input id="edf1" type="text" value="" > </div>
</li>
....
</ul>
<script type="javascript">
U.HideOptions();
U.ChangeToRadio("chk");
</scripot>
通常,有几个
任何想法?