我想根据TextBox
中选择的值显示和隐藏我的RadiobuttonList
。我为此编写了以下代码
$("#<%= rbtnIsPFEnabled.ClientID %>").click(function () {
pfno = $("#<%= txtPFNo.ClientID %>");
if ($("#<%= rbtnIsPFEnabled.ClientID %> input:checked").val() == "Yes") {
pfno.css("dispay") = "block";
}
else
pfno.css("dispay") = "none";
});
虽然我使用JQuery.show()
和JQuery.hide()
完成了我的任务,但由于我想知道为什么第一种方法失败而感到不满意。第二个是我在上面的代码中使用了$("#<%= rbtnIsPFEnabled.ClientID %>")
,我可以通过第二次使用其他内容(例如this
或其他任何内容)将其减少为一个吗?
我尝试了$(this+" input:checked").val()
和$(this.toString()+" input:checked").val()
但它没有用,所以我不得不重复它。
答案 0 :(得分:4)
$("#id").css("display", "none");
$("#id").css("display", "block");
如果您的pfno
包含您的ID
然后这应该工作
$(pfno).css("display", "none");
$(pfno).css("display", "block");
您应该使用FireBug进行调试
修改强>
<script type="text/javascript">
function fun(obj) {
if ($("#<%= rbtnIsPFEnabled.ClientID %> input:checked").val()=='Yes') {
$("#<%= txtPFNo.ClientID %>").css("display", "block");
}
else {
$("#<%= txtPFNo.ClientID %>").css("display", "none");
}
}
</script>
<asp:RadioButtonList ID="rbtnIsPFEnabled" runat="server" >
<asp:ListItem Text="Yes" Value="Yes" onchange="fun(this);"> </asp:ListItem>
<asp:ListItem Text="No" Value="No" onchange="fun(this);"> </asp:ListItem>
</asp:RadioButtonList>
<asp:TextBox runat="server" ID="txtPFNo"/>
答案 1 :(得分:0)
您可以使用jQuery
以多种方式解决此问题。
e.g。
$(pfno).css("display", "none"); //used when you are defining single css property or in chaining method
$(pfno).css({"display":"none"}); // used when you are defining multiple CSS property
$(pfno).hide(); //show/hide function also perform display block/none functionality which is mostly used in script
答案 2 :(得分:-1)
好的,首先这是不正确的:
pfno.css("dispay") = "block";
以上将无法正常工作
pfno.css({ 'display' : 'block' });
是如何设置css属性的,
pfno.css( 'display' , 'block' );
是另一种设置css属性的方法,因此measn yuo正在做其他错误的事情。你需要设置一个警告或写入控制台以确认你的if语句和你的点击处理程序是工作