2015-12-04 50 views
-2

我的jsp頁面中有幾個表單元素和一個單選按鈕,還有一些其他表單元素(文本框,文本框,選擇框,複選框等)在一個div標籤。現在,我的要求是當我選擇div標籤外側的單選按鈕之一時,隱藏div的所有子元素。使用jquery隱藏div(文本框,選擇,複選框,廣播)的所有子元素

這裏是我的JSP代碼

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="tags" uri="/struts-tags"%> 
<html> 
<head> 
    <link rel="stylesheet" href="jquery/jquery-ui.css"> 
</head> 
<body> 
<tags:form name="someForm" action="someAction" method="post"> 
<tags:textfield key="someActionClass.transactionDate" id="datepicker" label="Transaction Date" /> 
<tags:radio list="#{'1':'One Time','2':'Recurring'}" id="tType" lable="Transaction Type" name="recurringOrOneTime"></tags:radio> 


<div class="hideTesting"> 
    <tags:textfield name="testingFiled" lable="testing"/> 
    <tags:textfield name="testingFiled1" lable="testing"/> 
<tags:textfield name="testingFiled2" lable="testing"/> 
</div> 
<script src="jquery/external/jquery/jquery.js"></script> 
<script src="jquery/jquery-ui.js"></script> 
<script> 

    $("#datepicker").datepicker({ 
    inline: true 
    }); 

    $("input[name='recurringOrOneTime']").change(function(){ 
    var checkedVal=$(this).val(); 
    if(checkedVal=='1') 
    { 
     $("input[name='testingFiled']").toggle(); 
     $("input[name='testingFiled']").prop("disabled", true); 
    } 
    else 
    { 
    $("input[name='testingFiled']").toggle(); 
    $("input[name='testingFiled']").prop("disabled", false); 
    } 
    }); 
    </script> 
    </tags:form> 
</body> 
</html> 

通過使用上面的代碼我能隱藏元素,但我需要使用元素名稱來隱藏/顯示它。我想要做的是隱藏div標籤的所有子元素,而不管它的名稱或類型。有人可以爲此提出一個簡單的代碼。

下面是我嘗試實現上述問題但沒有運氣的代碼列表。

Try1=>$("div").filter(":hidden").children("input[type='text']").attr("disabled", "disabled"); 
    Try2=>$("input,select,textarea", $(".hideTesting")).attr("disabled", "disabled"); 
    Try3=>$("input,select,textarea", $(".hideTesting")).toggle(); 
    Try4=> $("input",$(".hideTesting")).toggle(); 
    Try5=>$(".hideTesting").children("input[type='text']").toggle(); 

    Try6=>$("div.testingFiled").find('input').toggle(); 
+0

原因,只是沒有使用'$隱藏();'( 「hideTesting」)。? '隱藏div'的所有子元素,那麼爲什麼不隱藏DIV呢? –

+0

'$('divid')。children()。hide()'? – guradio

+0

用於測試目的我已經在div tag中放置了一個純文本。我使用了相同的$(「。hideTesting」)。hide();爲隱藏,但它不隱藏的元素。它只是隱藏了div標籤中的純文本。我不知道爲什麼 –

回答

0

使用此代碼:

$("#tType").click(function() { 
    $(".hideTesting").hide(); 
}); 
1

只要給這種方式:

$("input:radio").click(function() { 
    $(".hideTesting").hide(); 
}); 
+1

亞似乎邏輯畢竟:) –

+0

@ A.沃爾夫我不明白爲什麼OP想讓事情變得複雜。也許是新手? –

+1

但也許OP有一些特定的風格適用於DIV喜歡的設置大小,他想保留,但誰知道?! –