我在asp页面中有一个formview,它包含4个文本框和一个单选按钮。单击编辑按钮时,如果textbox1,textbox2,textbox3中存在值,则应显示radiobutton1和textbox4(即,如果任何一个文本框(1,2,3)为空,则不应显示textbox1和radiobutton)
答案 0 :(得分:1)
如果您使用的是jQuery:
$("#idOfEditButton").live('click', function(){
if(!$('#idOfTxt1').val() || !$('#idOfTxt2').val() || !$('#idOfTxt3').val()){
$('#idOfRadio').hide();
$('#idOfTxt4').hide();
}
else{
$('#idOfRadio').show();
$('#idOfTxt4').show();
}
});
修改强>
您也可以使用类,然后在if语句中添加$('.classNameOfAllTxt')
(仅一次)。
并$('.classfTxt4AndRadio').show(); // or hide
。
答案 1 :(得分:0)
在formview编辑事件中,查找控件并检查文本框是否包含
等文本TextBox textbox1 = formView.FindControl(“TextBox1”)as TextBox;
同样找到TextBox2,TextBox3,TextBox4和Radiobutton1
然后比较
if(textbox1.Text != string.Empty && textBox2.Text != string.Empty && textBox3.Text != string.Empty)
{
textbox4.Visible = true;
Radiobutton1.Visible = true;
}
else
{
// set visibility to false
}
在下面的事件中执行此操作
protected void FormView1_ModeChanged(object sender, EventArgs e)
{
if (FormView1.CurrentMode == System.Web.UI.WebControls.FormViewMode.Edit)
{
**// Find Controls and Check ConditionHere**
}
}
试试吧。希望它有所帮助。
对于Javascript尝试类似:
function Check() {
var b = document.getElementById("<%= FormView1.FindControl("textBox1").ClientID%>");
var a = document.getElementById("<%= FormView1.FindControl("textBox2").ClientID%>");
if(a.innerText === "" && b.innerText == "")
{
// find the control like above and set visibility to false
var textbox4 = ....;
textbox4.visibility = "block"; // attribute for visibility is not verified by me, check to see the correct one if you have problem hidding or showing.
}
return false;
}