2017-01-09 1 views
0

Ich möchte eine Checkbox in Struts 1.3 framework erstellen Nested Tags verwenden, Javascript usw., die nur angezeigt werden soll, wenn ein Benutzer einen bestimmten Wert aus einer Auswahl dropdown wählt und der Wert von checkbox sollte zurückgesetzt erhalten, wenn Benutzer andere Werte von dropdown wählt.Wie wird ein ausgeblendetes Kontrollkästchen in einer JSP-Seite auf der Grundlage eines bestimmten Werts angezeigt, der aus dem Dropdown-Menü im Struts 1.3-Framework ausgewählt wurde?

+0

, was Sie tun gemein von Hidd de? Es ist "deaktiviert" oder "display: none"? –

+1

Ich habe verwendet ** display: keine **. – Arvind

Antwort

0

Wie Sie Ihren Code nicht geschrieben habe, habe ich es mein eigenes geschafft, versuchte Antwort

jsFiddle

$(document).ready(function() { 
 
    $(function() { 
 
     $("#id-select").change(function(){ 
 
      \t var $this = $(this); 
 
      $('input[type=checkbox]').each(function(){ 
 
      \t if($(this).val() == $this.val()) { 
 
       \t 
 
       $(this).parent().siblings().css('display', 'none'); 
 
       \t $(this).parent().css('display', 'block'); 
 
       
 
       \t $('input[type=checkbox]').css('display', 'none'); 
 
       \t $(this).css('display', 'block'); 
 
       } 
 
      }) 
 
      }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id='id-select'> 
 
    <option value="">Select</option> 
 
    <option value="volvo">Volvo</option> 
 
    <option value="saab">Saab</option> 
 
    <option value="opel">Opel</option> 
 
    <option value="audi">Audi</option> 
 
</select> 
 
<br> 
 
<div> 
 

 
<label for="volvo" style='display:none;'> 
 
    <input type="checkbox" id="volvo" value="volvo" style='display:none;'> 
 
volvo</label> 
 

 
<label for="saab" style='display:none;'> 
 
    <input type="checkbox" id="saab" value="saab" style='display:none;'> saab</label> 
 
    
 
<label for="opel" style='display:none;'> 
 
    <input type="checkbox" id="opel" value="opel" style='display:none;'> opel</label> 
 
    
 
<label for="audi" style='display:none;'> 
 
<input type="checkbox" id="audi" value="audi" style='display:none;'> 
 
audi</label> 
 

 
</div>

UPDATEmit bereitzustellen JavaScript
Hallo @Arvind ich habe Dies änderte sich mit sein Mai erforderlich arbeiten JavaScript,
viel Verbesserung, kann ich nicht Code in JavaScript

function showCheckBox($this) { 
 
\t var cols = document.getElementsByClassName('class-label'); 
 
    for(i=0; i<cols.length; i++) { 
 
     cols[i].style.display = 'none'; 
 
    } 
 
    var cols = document.getElementsByClassName('class-cb'); 
 
    for(i=0; i<cols.length; i++) { 
 
     cols[i].style.display = 'none'; 
 
     cols[i].checked = false; 
 
    } 
 
\t var array = document.getElementsByTagName("input"); 
 
    for(var ii = 0; ii < array.length; ii++) 
 
    { 
 
    if(array[ii].type == "checkbox") 
 
    { 
 
     if(array[ii].value == $this.value) 
 
     { 
 
      array[ii].style.display = 'block'; 
 
      array[ii].parentElement.style.display = 'block'; 
 
     } 
 
    } 
 
    } 
 
}
<select id='id-select' onchange="showCheckBox(this);"> 
 
    <option value="">Select</option> 
 
    <option value="volvo">Volvo</option> 
 
    <option value="saab">Saab</option> 
 
    <option value="opel">Opel</option> 
 
    <option value="audi">Audi</option> 
 
    <option value="option1">option1</option> 
 
    <option value="option2">option2</option> 
 
</select> 
 

 
<div> 
 

 
<label for="volvo" class='class-label' style='display:none;'> 
 
    <input type="checkbox" class='class-cb' id="volvo" value="volvo" style='display:none;'>volvo 
 
</label> 
 

 
<label for="saab" class='class-label' style='display:none;'> 
 
    <input type="checkbox" class='class-cb' id="saab" value="saab" style='display:none;'> saab 
 
</label> 
 
    
 
<label for="opel" class='class-label' style='display:none;'> 
 
    <input type="checkbox" class='class-cb' id="opel" value="opel" style='display:none;'>opel 
 
</label> 
 
    
 
<label for="audi" class='class-label' style='display:none;'> 
 
    <input type="checkbox" class='class-cb' id="audi" value="audi" style='display:none;'>audi 
 
</label> 
 

 
</div>

+0

Vielen Dank für die Hilfe! Das ist ein sehr guter Ansatz, aber ich muss Jquery lernen, um das Gleiche in meiner Anwendung zu verstehen und umzusetzen. Momentan arbeite ich nur in reinem Javascript und Struts 1.3. @ Shantaram – Arvind

+0

dann müssen Sie Ihren Code, was Sie bisher versucht haben, so dass Leute, die 'JavaScript' kennt, in der Lage sein wird, Ihnen zu helfen –

+0

Das ist so nett von Ihnen, dass Sie versucht haben, mir durch die Programmierung sogar in Javascript. Dieser Code wird für meine Implementierung hilfreich sein. Danke noch einmal! – Arvind

0

function showCheckBox($this) { 
 
\t var cols = document.getElementsByClassName('class-label'); 
 
    for(i=0; i<cols.length; i++) { 
 
     cols[i].style.display = 'none'; 
 
    } 
 
    var cols = document.getElementsByClassName('class-cb'); 
 
    for(i=0; i<cols.length; i++) { 
 
     cols[i].style.display = 'none'; 
 
    } 
 
\t var array = document.getElementsByTagName("input"); 
 
    for(var ii = 0; ii < array.length; ii++) 
 
    { 
 
    if(array[ii].type == "checkbox") 
 
    { 
 
     if(array[ii].value == $this.value) 
 
     { 
 
      array[ii].style.display = 'block'; 
 
      document.getElementById("volvo").checked = false; 
 
      array[ii].parentElement.style.display = 'block'; 
 
     } 
 
    } 
 
    } 
 
}
<select id='id-select' onchange="showCheckBox(this);"> 
 
    <option value="">Select</option> 
 
    <option value="volvo">Volvo</option> 
 
    <option value="saab">Saab</option> 
 
    <option value="opel">Opel</option> 
 
    <option value="audi">Audi</option> 
 
</select> 
 
<div> 
 

 
<label for="volvo" class='class-label' style='display:none;'> 
 
    <input type="checkbox" class='class-cb' id="volvo" value="volvo" style='display:none;'>volvo 
 
</label> 
 

 
<label for="saab" class='class-label' style='display:none;'> 
 
    <input type="checkbox" class='class-cb' id="saab" value="saab" style='display:none;'> saab 
 
</label> 
 
    
 
<label for="opel" class='class-label' style='display:none;'> 
 
    <input type="checkbox" class='class-cb' id="opel" value="opel" style='display:none;'>opel 
 
</label> 
 
    
 
<label for="audi" class='class-label' style='display:none;'> 
 
    <input type="checkbox" class='class-cb' id="audi" value="audi" style='display:none;'>audi 
 
</label> 
 

 
</div>

+0

hat nur die untere Zeile in Ihrem Code hinzugefügt, um Volvo-Kontrollkästchen Dokument zurückzusetzen .getElementById ("volvo"). checked = false; Ich kann meinen Code nicht teilen, da mein Code sehr abhängig von verschiedenen Eigenschaften der Bean-Klasse @ Shantaram ist – Arvind

Verwandte Themen