问题: 我想请求帮助,如何包含输入字段和单选按钮,具体取决于您之前为单选按钮所做的选择。
jQuery代码:
<script src="./js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("input[name='authors']").change(function()
{
if(this.checked)
{
if(this.value == 1)
{
$("#choice-1").show();
$("#choice-2").hide();
}
else if (this.value == 2)
{
$("#choice-2").show();
$("#choice-1").hide();
}
}
}
});
</script>
HTML code:
<label class="radio"><input type="radio" name="authors" id="authors" value="1">1 author</label>
<label class="radio"><input type="radio" name="authors" id="authors" value="2">2 authors</label>
<div id="choice-1" style="display: none;">
<label class="control-label">Gender:</label>
<label class="radio"><input type="radio" name="FirstGender" id="FirstGender" value="1">Man</label>
<label class="radio"><input type="radio" name="FirstGender" id="FirstGender" value="2">Woman</label>
</div>
<div id="choice-2" style="display: none;">
<label class="control-label">Gender:</label>
<label class="radio"><input type="radio" name="FirstGender" id="FirstGender" value="1">Man</label>
<label class="radio"><input type="radio" name="FirstGender" id="FirstGender" value="2">Woman</label>
<label class="control-label">Gender:</label>
<label class="radio"><input type="radio" name="SecondGender" id="SecondGender" value="1">Man</label>
<label class="radio"><input type="radio" name="SecondGender" id="SecondGender" value="2">Woman</label>
</div>
所需功能: 如果我单击单选按钮1作者,则应生成1个输入文本字段,其标题为“作者姓名”和2个标题为“性别”的单选按钮(人/女人)。类似的方法适用于2位作者(参见代码中的注释)。
提前致谢!
答案 0 :(得分:1)
$("input[name='authors']").change(function() {
$('div[id^=choice]').hide();
$('div#choice-' + this.value).show();
});
<强> DEMO 强>
答案 1 :(得分:0)
您可以将它们放在html中并将它们包装在隐藏的div中。
<div id="choice-1" style="display: none>
<!--your inputs for first choice -->
</div>
<div id="choice-2" style="display: none>
<!--your inputs for second choice -->
</div>
if ($("input[name='authors']:checked").val() == '1') {
$("#choice-1").show();
$("#choice-2").hide();
} else if ($("input[name='authors']:checked").val() == '2') {
$("#choice-2").show();
$("#choice-1").hide();
}
答案 2 :(得分:0)
如果您的意思是想要动态添加输入字段和单选按钮,请执行以下操作:
var input = $('<input type="text">'),
radio = $('<input type="radio">'),
label = $('<label>'),
output = $('#output'),
authorLabel = label.clone().html('Author').appendTo(output),
author = input.clone().attr('id','author').appendTo(output),
rdmLabel = label.clone().html('Male').appendTo(output),
rdm = radio.clone().attr({'name':'gender',value:'M'}).appendTo(output)
rdfLabel = label.clone().html('Female').appendTo(output),
rdf = radio.clone().attr({'name':'gender',value:'F'}).appendTo(output);