我正在尝试使用此脚本隐藏“是/否”之后的问题。换句话说,我想在没有点击时隐藏以下问题的问题是/否。
感谢。
<script>
function ChangeDropdowns() {
if ("Delivery_y:checked") {
document.getElementById('BuyProduct_H').style.display = 'block';
} else if ("Delivery_n:checked") {
document.getElementById('BuyProduct_H').style.display = 'none';
}
}
</script>
这是包含是/否问题的表格。
<table id="YesNo" style="width:100%;">
<tr>
<td class="auto-style2" colspan="3">* Have you recently bought any electronic products from AlGhanim electronics that required delivery/ Installation Service? </td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td class="auto-style23">
<input type="radio" name="Delivery" id ="Delivery_y" onclick="displayResult(this.value)" value="Yes" >Yes</td>
<td>(Continue)</td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td class="auto-style23">
<input type="radio" name="Delivery" id ="Delivery_n" onclick="displayResult(this.value)" value="No">No</td>
<td>(Terminate)</td>
</tr>
</table>
这是我在第一个问题回答“否”时要隐藏的表格:
<table name="BuyProduct" id ="BuyProduct_H" style="width:100%;">
<tr>
<td class="auto-style2" colspan="3">1- What were the products that you bought? </tr>
<tr>
<td class="auto-style28"> </td>
<td colspan="2">
<asp:CheckBox ID="Button11" Text="a. Air Conditioning" runat="server" /> </td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td colspan="2">
<asp:CheckBox ID="Button12" Text="b. TV Radio (TV, Home Theatre, etc.)" runat="server" /></td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td colspan="2">
<asp:CheckBox ID="Button13" Text="c. Refrigeration" runat="server" /> </td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td colspan="2">
<asp:CheckBox ID="Button14" Text="d. Laundry (Washer, Dryer, etc)" runat="server" /> </td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td colspan="2">
<asp:CheckBox ID="Button15" Text="e. Dishwasher" runat="server" /></td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td colspan="2">
<asp:CheckBox ID="Button16" Text="f. Water Treatment (Water Dispencer)" runat="server" /> </td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td colspan="2">
<asp:CheckBox ID="Button17" Text="g. Small Housewares (Microwave, Kitchen appliances, etc.)" runat="server" />
<br />
<asp:CheckBox ID="Button18" Text="h. Others Please Specify" runat="server" /> </td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td class="auto-style51"></td>
<td>
<asp:TextBox ID="TextBox26" runat="server"></asp:TextBox>
</td>
<td>
</td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td colspan="2">
</td>
</tr>
</table>
答案 0 :(得分:3)
"show"
和"hide"
不是display
的有效值。请改为分别尝试"block"
(或"inline-block"
)和"none"
。
请点击此处查看有效值:http://www.w3schools.com/jsref/prop_style_display.asp
此外,您需要调用ChangeDropdowns()
功能才能使其正常工作。
答案 1 :(得分:1)
除了@mayabelle在答案中指出的内容(隐藏和 show 应分别由style.display = 'none'
和style.display = 'block'
取代) ,您在if语句if ("Delivery_y:checked")
中的验证将无效。相反,您可以通过以下方式检查是否在javascript中检查了元素:
if (document.getElementById('Delivery_y').checked)
或者,您可以在jQuery中执行此操作:
if ($('Delivery_y').is(':checked'))
答案 2 :(得分:0)
我将Raul Rene和mayabelle应用于我的剧本:
这是以前的剧本:
<script>
function ChangeDropdowns() {
if ("Delivery_y:checked") {
document.getElementById('BuyProduct_H').style.display = 'block';
} else if ("Delivery_n:checked") {
document.getElementById('BuyProduct_H').style.display = 'none';
}
}
</script>
这是剧本之后:
<script>
function ChangeDropdowns() {
if (document.getElementById('Delivery_y').checked) {
document.getElementById('BuyProduct_H').style.display = 'block';
} else if (document.getElementById('Delivery_n').checked) {
document.getElementById('BuyProduct_H').style.display = 'none';
}
}
</script>
我更改了是/否表:
在:
input type="radio" name="Delivery" id ="Delivery_y" onclick="displayResult(this.value)" value="Yes" >Yes</td>
<td>(Continue)</td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td class="auto-style23">
<input type="radio" name="Delivery" id ="Delivery_n" onclick="displayResult(this.value)" value="No">No</td>
<td>(Terminate)</td>
</tr>
后:
<input type="radio" name="Delivery" id ="Delivery_y" onclick="displayResult(this.value)" onchange="ChangeDropdowns()" value="Yes" >Yes</td>
<td>(Continue)</td>
</tr>
<tr>
<td class="auto-style28"> </td>
<td class="auto-style23">
<input type="radio" name="Delivery" id ="Delivery_n" onclick="displayResult(this.value)" onchange="ChangeDropdowns()" value="No">No</td>
<td>(Terminate)</td>
</tr>
工作得很好。
谢谢大家。