Javascript 单选单击动作和长度动作
我在页面上有radios按钮,当页面加载时,它会使用length动作来检查,然后隐藏/显示一些元素 当用户单击收音机时,它将隐藏并显示一些元素 我想知道这样做对吗?或者如何改进Javascript 单选单击动作和长度动作,javascript,jquery,jquery-selectors,jquery-events,Javascript,Jquery,Jquery Selectors,Jquery Events,我在页面上有radios按钮,当页面加载时,它会使用length动作来检查,然后隐藏/显示一些元素 当用户单击收音机时,它将隐藏并显示一些元素 我想知道这样做对吗?或者如何改进 $(document).ready(function() { if ($(".delivery_type:radio").length > 0) { if ($('#methodPickup').is(':checked')) { $(".methodDelivery").hide();
$(document).ready(function() {
if ($(".delivery_type:radio").length > 0) {
if ($('#methodPickup').is(':checked')) {
$(".methodDelivery").hide();
$("#addressBookSelectBlock").hide();
$(".customAddress").hide();
}
if ($('#methodDelivery').is(':checked')) {
$(".methodPickup").hide();
}
}
$(".delivery_type:radio").live('click', function() {
if ($(this).val() == "pickup") {
$(".methodDelivery").hide();
$(".methodPickup").show();
$("#addressBookSelectBlock").hide();
$(".customAddress").hide();
}
if ($(this).val() == "delivery") {
if ($(".selectAddressList").length == 0) {
$(".customAddress").show();
}
$(".methodDelivery").show();
$(".methodPickup").hide();
$("#addressBookSelectBlock").show();
}
});
});
您可以将所有
hide()
和show()
函数组合在一起:
if ($('#methodPickup').is(':checked')) {
$(".methodDelivery, #addressBookSelectBlock, .customAddress").hide();
}
// etc...
另外,我不知道为什么要使用live()
,除非单选按钮是动态添加或删除的;如果它们不是动态的,只需使用click()
共享一些HTML和一些更多的信息可能有助于提供更多的建议