我在一个网页中有两个表单,如
<tr>
<td>
<h4>Team A[Form1]</h4>
<form name="form1" enctype="multipart/form-data">
<input type="radio" value="batting" name="teamA" /> Batting<br />
<input type="radio" value="bowling" name="teamA" /> Bowling<br />
</form>
</td>
<td>
<h4>Team B[Form2]</h4>
<form name="form2" enctype="multipart/form-data">
<input type="radio" value="batting" name="teamB" /> Batting<br />
<input type="radio" value="bowling" name="teamB" /> Bowling<br />
</form>
</td>
</tr>
以及如何在form1选择上自动选择第二个表单单选按钮。 如果我在form1中选择Batting,则将form2按钮更改为Bowling。
我想做的就像
<script type="text/javascript">
if(document.form1.teamA.checked = 'batting') {
document.form2.teamB.checked = 'bowling';
}
</script>
答案 0 :(得分:1)
您可以使用data
属性来定义应该是哪个字段&#34;已连接&#34;按钮:
<form name="form1" id="form1" enctype="multipart/form-data">
<input type="radio" value="batting" data-toggle="bowling" name="teamA" />Batting
<br />
<input type="radio" value="bowling" data-toggle="batting" name="teamA" />Bowling
<br />
</form>
JS
$('#form1 :radio').change(function () {
$('#form2 :radio').filter('.' + $(this).data('toggle')).prop('checked', true);
});
因此,如果有一天价值发生变化或添加了新选项,javascript代码将继续有效。
或者像这样:
$('#form1 :radio').change(function () {
$('#form2 :radio[value="' + $(this).data('toggle') + '"]').prop('checked', true);
});
你甚至可以进行双向绑定,因此检查第二种形式的单选按钮会改变第一种形式的状态:
答案 1 :(得分:0)
$('form[name="form1"] input[type=radio][name=teamA]').change(function(){
var radiosFrom2ndForm = $('form[name="form2"] input[type=radio][name=teamB]');
for(var i = 0; i < radiosFrom2ndForm.length; i++)
if(radiosFrom2ndForm[i].value !== this.value)
radiosFrom2ndForm[i].checked = true;
});
替代:
$('form[name="form1"] input[type=radio][name=teamA]').change(function(){
$('form[name="form2"] input[type=radio][name=teamB][value!=' + this.value + ']').prop('checked', true);
});
答案 2 :(得分:0)
使用以下代码
<script>
$(document).ready(function(){
$("input[name='teamA']").change(function(){
if($("input[name='teamA']:checked").val() == "batting")
{
$("input:radio[name='teamB'][value='bowling']").attr('checked', 'checked');
}
if($("input[name='teamA']:checked").val() == "bowling")
{
$("input:radio[name='teamB'][value='batting']").attr('checked', 'checked');
}
});
});
</script>
看看这个小提琴http://jsfiddle.net/z8Lnd/5/
答案 3 :(得分:0)
这应该比以前的版本更好:
$(document).ready(function(){
$("#form1 input:radio[id='bowling']").prop("click",true);
$("#form1 input:radio").on("change",function(){
$("#form2 input:radio[id='bowling']").prop("checked", $("#batting").prop("checked"));
});
});
还对您的HTML进行了一些更改,以便您可以在选择器中使用id