Javascript 基于单选按钮选择显示/隐藏div
所以我在网上找到了其他答案,但我很想知道为什么我的答案不是另一个有效的答案。单击单选按钮时,不显示/消失div。我有显示:默认为无。(我也试着用CSS代替JS,但也没用) index.php文件:Javascript 基于单选按钮选择显示/隐藏div,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,所以我在网上找到了其他答案,但我很想知道为什么我的答案不是另一个有效的答案。单击单选按钮时,不显示/消失div。我有显示:默认为无。(我也试着用CSS代替JS,但也没用) index.php文件: if(isset($_POST['pickupDelivery'])){ if($_POST['pickupDelivery'] == "pickup"){ ?> <script type="text/javascript">
if(isset($_POST['pickupDelivery'])){
if($_POST['pickupDelivery'] == "pickup"){
?>
<script type="text/javascript">
document.getElementById("pickupName").style.display="block";
document.getElementById("desiredPickup").style.display="block";
document.getElementById("deliveryAddress").style.display="none";
document.getElementById("desiredDelivery").style.display="none";
</script>
<style>
#pickupName, #desiredPickup {
display: block;
}
#deliveryAddress, #desiredDelivery {
display: none;
}
</style>
<?php
} else if($_POST['pickupDelivery'] == "delivery") {
?>
<script type="text/javascript">
document.getElementById("pickupName").style.display="none";
document.getElementById("desiredPickup").style.display="none";
document.getElementById("deliveryAddress").style.display="block";
document.getElementById("desiredDelivery").style.display="block";
</script>
<?php
}
}
if(isset($\u POST['pickupDelivery'])){
如果($_POST['pickupDelivery']==“pickup”){
?>
document.getElementById(“pickupName”).style.display=“block”;
document.getElementById(“DesiredPick”).style.display=“block”;
document.getElementById(“deliveryAddress”).style.display=“无”;
document.getElementById(“desiredDelivery”).style.display=“无”;
#皮卡名称,#需要皮卡{
显示:块;
}
#送货地址#需要送货{
显示:无;
}
document.getElementById(“pickupName”).style.display=“无”;
document.getElementById(“DesiredPick”).style.display=“无”;
document.getElementById(“deliveryAddress”).style.display=“block”;
document.getElementById(“desiredDelivery”).style.display=“block”;
请参见示例:
for(变量i=0;i
参见示例:
for(变量i=0;i
这应将所有内容设置为隐藏
<style>
#pickupName, #desiredPickup, #deliveryAddress, #desiredDelivery {
display: none;
}
</style>
#收货人姓名、#期望收货人、#交货地址、#期望交货{
显示:无;
}
这应该根据单选按钮显示和隐藏字段
if(isset($_POST['pickupDelivery'])){
if($_POST['pickupDelivery'] == "pickup"){
?>
<script type="text/javascript">
document.getElementById("pickupName").style.display="block";
document.getElementById("desiredPickup").style.display="block";
</script>
<?php
} else if($_POST['pickupDelivery'] == "delivery") {
?>
<script type="text/javascript">
document.getElementById("deliveryAddress").style.display="block";
document.getElementById("desiredDelivery").style.display="block";
</script>
<?php
}
}
if(isset($\u POST['pickupDelivery'])){
如果($_POST['pickupDelivery']==“pickup”){
?>
document.getElementById(“pickupName”).style.display=“block”;
document.getElementById(“DesiredPick”).style.display=“block”;
document.getElementById(“deliveryAddress”).style.display=“block”;
document.getElementById(“desiredDelivery”).style.display=“block”;
这会将所有内容设置为隐藏
<style>
#pickupName, #desiredPickup, #deliveryAddress, #desiredDelivery {
display: none;
}
</style>
#收货人姓名、#期望收货人、#交货地址、#期望交货{
显示:无;
}
这应该根据单选按钮显示和隐藏字段
if(isset($_POST['pickupDelivery'])){
if($_POST['pickupDelivery'] == "pickup"){
?>
<script type="text/javascript">
document.getElementById("pickupName").style.display="block";
document.getElementById("desiredPickup").style.display="block";
</script>
<?php
} else if($_POST['pickupDelivery'] == "delivery") {
?>
<script type="text/javascript">
document.getElementById("deliveryAddress").style.display="block";
document.getElementById("desiredDelivery").style.display="block";
</script>
<?php
}
}
if(isset($\u POST['pickupDelivery'])){
如果($_POST['pickupDelivery']==“pickup”){
?>
document.getElementById(“pickupName”).style.display=“block”;
document.getElementById(“DesiredPick”).style.display=“block”;
document.getElementById(“deliveryAddress”).style.display=“block”;
document.getElementById(“desiredDelivery”).style.display=“block”;
请参见此处
JQ的一个例子
我不知道你的html看起来怎么样,所以我自己做了一个
<div class="test">
aaa
</div>
<div class="test">
bbb
</div>
<div class="test">
ccc
</div>
<div class="test">
ddd
</div>
<div class="radios">
<input type="radio" >
<input type="radio" >
</div>
JQ:
或仅使用CSS
请参见此处
html:
<input type="radio" class="button1" >
<input type="radio" class="button2">
<div class="test1">
aaa
</div>
<div class="test2">
bbb
</div>
<div class="test3">
ccc
</div>
<div class="test4">
ddd
</div>
请参见此处
JQ的一个例子
我不知道你的html看起来怎么样,所以我自己做了一个
<div class="test">
aaa
</div>
<div class="test">
bbb
</div>
<div class="test">
ccc
</div>
<div class="test">
ddd
</div>
<div class="radios">
<input type="radio" >
<input type="radio" >
</div>
JQ:
或仅使用CSS
请参见此处
html:
<input type="radio" class="button1" >
<input type="radio" class="button2">
<div class="test1">
aaa
</div>
<div class="test2">
bbb
</div>
<div class="test3">
ccc
</div>
<div class="test4">
ddd
</div>
我认为使用jQuery可以很容易地做到这一点
jQuery
$("input[type=radio]").change(function() {
if ($(this).val() === 'pickup') {
$("#pickupName").addClass("show");
$("#desiredPickup").addClass("show");
$("#deliveryAddress").removeClass("show");
$("#desiredDelivery").removeClass("show");
} else if ($(this).val() === 'delivery') {
$("#deliveryAddress").addClass("show");
$("#desiredDelivery").addClass("show");
$("#pickupName").removeClass("show");
$("#desiredPickup").removeClass("show");
}
});
只需将其添加到CSS中即可
CSS
.show{
display: block !important;
}
但是您会问为什么您的代码不起作用。请确保您的脚本标记在body-end或head-end标记之前。然后它可能会起作用。我认为使用jQuery可以很容易地做到这一点
jQuery
$("input[type=radio]").change(function() {
if ($(this).val() === 'pickup') {
$("#pickupName").addClass("show");
$("#desiredPickup").addClass("show");
$("#deliveryAddress").removeClass("show");
$("#desiredDelivery").removeClass("show");
} else if ($(this).val() === 'delivery') {
$("#deliveryAddress").addClass("show");
$("#desiredDelivery").addClass("show");
$("#pickupName").removeClass("show");
$("#desiredPickup").removeClass("show");
}
});
只需将其添加到CSS中即可
CSS
.show{
display: block !important;
}
但是你会问为什么你的代码不起作用。确保你的脚本标记在body-end或head-end标记之前。然后它可能会起作用。那么,你想在页面加载本身上显示/隐藏div吗?你不需要css和js,而且看起来很好。你能解释一下什么不起作用吗?deault应该隐藏这四个divre是两个单选按钮,如果按下其中一个按钮,则前两个div应显示,如果按下另一个按钮,则前两个div应显示(如果在不刷新页面的情况下来回切换,则其他按钮应隐藏)@Shlomi我知道我不需要两者,但我尝试了两者,但都不起作用。当我选择单选按钮时,div不会显示。所以,你想在页面加载本身上显示/隐藏div?你不需要css和js,而且看起来很好。你能解释什么不起作用吗?迪奥,这四个div应该隐藏。有两个radio按钮,如果按下一个按钮,则应显示前两个div,如果按下另一个按钮,则应显示最后两个div(如果在不刷新页面的情况下来回切换,则应隐藏其他按钮)@Shlomi我知道我不需要两者,但我尝试了两者,但两者都不起作用。当我选择单选按钮时,div不会显示。我还需要它工作,而不必在两者之间切换。我需要做什么更改才能使其工作:我还需要它工作,而不必在两者之间切换。我需要更改什么这是可行的:我认为问题不在这里。但我会把它添加到我的帖子中。@djd97