我有相同的功能检查表单中的2个不同的文本输入字段。如果选中了复选框,我需要在其中一个文本输入字段上运行该函数。如果未选中该复选框,则我需要该函数在其他文本输入字段上运行。
这是复选框:
<input id="use_different_addresses" type="checkbox" value="1" name="use_different_addresses" />Use different address<br />
默认情况下,不会选中该复选框。如果未选中,我需要运行此功能:
$('#customer_country_name').change(function() {
if ($('#customer_country_name').val() != 'United States') {
$('.radio_us').hide();
}
else {
$('.radio_us').show();
}
});
选中该复选框后,我需要运行此功能:
$('#shipping_country_name').change(function() {
if ($('#customer_country_name').val() != 'United States') {
$('.radio_us').hide();
}
else {
$('.radio_us').show();
}
});
谢谢!
答案 0 :(得分:2)
为什么不在每个方法的顶部添加一个检查,以确定它是否应该根据checked
状态运行
$('#customer_country_name').change(function() {
if (!$('#use_different_addresses').is(':checked')) {
...
}
}
$('#shipping_country_name').change(function() {
if ($('#use_different_addresses').is(':checked')) {
...
}
}
编辑
OP在评论中澄清说,他们希望在选中复选框时隐藏某些无线电盒。这是我推荐的解决方案$('#use_different_addresses').change(function() {
if ($('#use_different_addresses').is(':checked')) {
$('.radio_us').hide();
} else {
$('.radio_us').show();
}
});
答案 1 :(得分:1)
如果没有看到更多标记,您可以使用.toggle()
来触发.change()
$("#use_different_addresses").toggle(function(){
$('#customer_country_name').change();
}, function(){
$('#shipping_country_name').change();
});
答案 2 :(得分:0)