2010-12-12 10 views
6

मैं इस सरल रूप है:एक चुनिंदा टैग कैसे छिपाना है?

<form method="post" action="index.php" > 
<table> 

<tr> 
<td> 
Sex: 
</td> 
<td> 
    <select name="sex" > 
    <option value="e">Select </option> 
    <option value="girl">Girl </option> 
    <option value="boy">Boy </option> 
    </select> 
</td> 
</tr> 

<tr> 
<td> 
Accessories: 
</td> 
<td> 
    <select name="earrings" > 
    <option value="e">Select </option> 
    <option value="gold">gold </option> 
    <option value="silver">silver </option> 
    </select> 
</td> 
</tr> 


</table> 

<br> 
<input type="submit" size="10" value="Go" name="go"> 
</form> 

और मुझे लगता है कि जब मैं पहली बार में "लड़का" पर क्लिक करें तो इस ब्लॉक का चयन करें गायब हो जाता है के लिए है:

<tr> 
<td> 
Accessories: 
</td> 
<td> 
    <select name="earrings" > 
    <option value="e">Select </option> 
    <option value="gold">gold </option> 
    <option value="silver">silver </option> 
    </select> 
</td> 
</tr> 

मैं सीएसएस के साथ ऐसा कर सकते हैं ? यदि नहीं, तो मैं जावास्क्रिप्ट के साथ ऐसा कर सकता हूं?

function genderSelectHandler(select){ 
if(select.value == 'girl'){ 
show(); 
}else if(select.value == 'boy'){ 
hide(); 
}} 

अब सभी:

+0

सीएसएस, नहीं; जावास्क्रिप्ट, हां। क्या इसे वेनिला जावास्क्रिप्ट होने की आवश्यकता है, या आप लाइब्रेरी (जैसे jQuery, म्यूटूल, प्रोटोटाइप, स्क्रिप्टैकुलस, ग्लो ..) का उपयोग करने के लिए सक्षम होंगे? –

उत्तर

15

आप जावास्क्रिप्ट में सीएसएस में ऐसा नहीं कर सकते, लेकिन आप कर सकते हैं

function hide(){ 
var earrings = document.getElementById('earringstd'); 
earrings.style.visibility = 'hidden'; 
} 

function show(){ 
var earrings = document.getElementById('earringstd'); 
earrings.style.visibility = 'visible'; 
} 

बस सुनिश्चित करें कि आपके td है बनाने id=earringstd

तब समारोह बनाने आपको अपना लिंग चयन टैग बदलना होगा:

<select name="sex" onchange="genderSelectHandler(this)"> 
+0

बेकार, 'लिंग.form.earring.style.visibility = 'छुपा' नौकरी –

+0

मैंने कोशिश की है लेकिन यह काम नहीं करता है: http://gooworld.altervista.org/ – xRobot

+0

शायद एक वाक्यविन्यास त्रुटि है या कुछ मेरे कोड में, मैंने इसे अपने सिर के शीर्ष से टाइप किया है –

2

छिपी हुई संपत्ति चयनित छुपाती है लेकिन टैग अभी भी प्रस्तुत किया गया है, और पृष्ठ पर स्थान लेता है।

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 

<script type="text/javascript"> 

     function hide(){ 
      var elem = document.getElementById('sel1'); 
      elem.style.display = 'none'; 
     } 

     function show(){ 
      var elem = document.getElementById('sel1'); 
      elem.style.display = 'inline'; 
     } 

</script> 

</head> 
<body> 
    <form id="form1" runat="server"> 

     <select id='sel1' style='display:inline;'/> 

     <input type="button" onclick="show();" value="Show"></input><br> 
     <input type="button" onclick="hide();" value="Hide"></input><br> 

    </form> 
</body> 
</html> 
0

मैं जानता हूँ कि यह एक पुरानी है, लेकिन मैं:

आप एक का चयन छिपाने के लिए और नहीं तो वह प्रदर्शित करना चाहते हैं, लेकिन अभी भी डोम के साथ बातचीत करने में सक्षम हो चाहते हैं, यहाँ कुछ नमूना कोड नीचे सूचीबद्ध अनुसार गोरान कोड बदल दिया और सोचा कि मैं साझा करूंगा। यह कोड को ध्वस्त कर देता है ताकि यह पृष्ठ पर इसकी जगह को बरकरार न रखे, जबकि ऊपर सूचीबद्ध कोड अपने फॉर्म को पकड़ना जारी रखता है लेकिन अदृश्य हो जाता है।

function genderSelectHandler(select){ 
if(select.value == 'girl'){ 
$("#earringstd").show() 
}else{ 
$("#earringstd").hide(); 
}} 

<select name="sex" onchange="genderSelectHandler(this)"> 
संबंधित मुद्दे