隐藏复选框,如果文本框有文本,jquery

时间:2012-01-07 22:28:06

标签: javascript jquery asp.net

当文档加载时我只是在文本框中有文本时才会隐藏复选框。相反,即使文本框为空,也会隐藏所有复选框。请帮忙

    $(document).ready(function () {


            //if statements to disable the fill checkboxes if there are dates already filled
            if ($("#<%=FinishDateSrvcTXT.ClientID%>").text != "") {
                $("#<%=FinishFillCHK.ClientID%>").css('display', 'none');
            }

            if ($("#<%=startdateSrvcTXT.ClientID%>").text != "") {
                $("#<%=StartFillCHK.ClientID%>").css('display', 'none');
            }

            if ($("#<%=FinishDateBodyShopTXT.ClientID%>").text != "") {
                $("#<%=FillFinishBodyShopCHK.ClientID%>").css('display', 'none');
            }
            if ($("#<%=StartDateBodyShopTXT.ClientID%>").text != "") {
                $("#<%=FillStartBodyCHK.ClientID%>").css('display', 'none');
            }
            if ($("#<%=CompleteDatedetailTXT.ClientID%>").text != "") {
                $("#<%=CompleteFilldetailCHK.ClientID%>").css('display', 'none');
            }

            if ($("#<%=startdatedetailtxt.ClientID%>").text != "") {
                $("#<%=startdatedetailCHK.ClientID%>").css('display', 'none');
});

3 个答案:

答案 0 :(得分:1)

嗯,试试

 function check() {
 if(document.getElementById('yourTextFieldId').text != null) {
 document.getElementById('yourCheckboxId').disabled = true;
 }
 else {
 document.getElementById('yourCheckboxId').disabled = false;
 }
 }

答案 1 :(得分:1)

你可以使用这样的东西:

$('input:checkbox').each(function () {
    if (!this.value || !$(this).text() ) $(this).hide();
});

这里只要没有值或没有文字就会隐藏每个复选框。

答案 2 :(得分:0)

if语句更改为使用val()

$("#<%=FinishDateSrvcTXT.ClientID%>").val().length > 0){
   $("#<%=FinishFillCHK.ClientID%>").css('display', 'none');
}