简体   繁体   English

如何根据从Struts 1.3框架的下拉列表中选择的特定值在JSP页面中显示隐藏的复选框字段?

[英]How to display a hidden checkbox field in a JSP page on the basis of specific value selected from dropdown in Struts 1.3 framework?

我想在Struts 1.3 framework使用Nested TagsJavascript等创建一个复选框,仅当用户从选择dropdown选择特定值时才显示该checkbox并且当用户从dropdown选择其他值时checkbox的值应重置。

As you have not posted your code I have managed it my own, tried to provide answer 由于您尚未发布代码,因此我自己管理了代码,尝试提供答案

jsFiddle jsFiddle

  $(document).ready(function () { $(function () { $("#id-select").change( function(){ var $this = $(this); $('input[type=checkbox]').each( function(){ if( $(this).val() == $this.val()) { $(this).parent().siblings().css('display', 'none'); $(this).parent().css('display', 'block'); $('input[type=checkbox]').css('display', 'none'); $(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> 

UPDATE using JavaScript 使用JavaScript 更新
Hello @Arvind I have changed this to work with JavaScript , 您好@Arvind我已将其更改为可与JavaScript一起JavaScript
May be lots of improvement needed, I do not code in JavaScript 可能需要大量改进,我不使用JavaScript代码

 function showCheckBox($this) { 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; } 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> 

 function showCheckBox($this) { 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'; } 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> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在另一个JSP页面中使用一个JSP的选定复选框值? - how to use selected checkbox value of one jsp in another jsp page? 从jsp的下拉列表中选择值后,替换并显示新页面 - Replace and display a new page after value getting selected from dropdown in jsp 如何将onchange选择的下拉值存储到隐藏的输入字段中? - How to store onchange selected dropdown value into hidden input field? 如何以这样的方式呈现JSP:在该字段的下拉列表中,将选中复选框(并非完全使用ID创建的复选框) - How to render JSP in such a way that in dropdown of that field the checkbox(not exactly checkbox it is created by using id) will be selected 在所有jsp中显示下拉选择的值 - Display dropdown selected value in all the jsp 如何使用JavaScript在JSP页面上的下拉列表中呈现选定值的属性? - How do I render attributes for a selected value from a dropdown, on a JSP page, using JavaScript? 如何从下拉列表中显示选定的值 - How to display the selected value from the dropdown 如何从 Vuejs 的下拉列表中显示选定的值? - How to display the selected value from the dropdown in Vuejs? 根据所选值填充下拉列表 - Populating the dropdown on the basis of selected value 在jsp页面中显示下拉列表的选定值 - display selected value of the drop down in jsp page
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM