如果textbox1,textbox2,textbox3中存在值,如何启用radiobutton1和textbox4

时间:2012-07-05 17:48:00

标签: c# javascript asp.net asp.net-mvc asp.net-mvc-2

我在asp页面中有一个formview,它包含4个文本框和一个单选按钮。单击编辑按钮时,如果textbox1,textbox2,textbox3中存在值,则应显示radiobutton1和textbox4(即,如果任何一个文本框(1,2,3)为空,则不应显示textbox1和radiobutton)

2 个答案:

答案 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;

    }