Actualmente, mi código funciona bien con el nombre de entrada, puedo obtener el valor de entrada por nombre de entrada. Pero quiero que mi secuencia de comandos recupere el valor de entrada con entrada de identificación y no con entrada de nombre.
aquí mi código:
$(document).ready(function () { $('input[type="checkbox"]').click(function () { getSelectedCheckBoxwithValueText("test") }); var getSelectedCheckBoxwithValueText = function (name1) { var data = $('input[name="' + name1 + '"]:checked'); if (data.length > 0) { var resultdata='' ; data.each(function () { var selectedValue = $(this).val(); resultdata += $('label[for="cb-' + selectedValue + '"]').text() + "<br/>"; }); $("#divchecked").html(resultdata); } else { $("#divchecked").html("No Check box selected"); } }; }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <body> checked: <input type="checkbox" id="c1" name="test" value="cricket" /> <label for="cb-cricket">Cricket</label> <input type="checkbox" id="c2" name="test" value="swimming" /> <label for="cb-swimming">Swimming</label> <input type="checkbox" id="c3" name="test" value="blog" /> <label for="cb-blog">Blog</label> <input type="checkbox" id="c4" name="test" value="coding" /> <label for="cb-coding">Coding</label> <br/> <br/> Selected checkbox:<br /> <div id="divchecked"></div> </body>Puedes usar
var data = $('input[id=^"c"]:checked'); Solo si las identificaciones no son pseudos (entonces realmente usa estas identificaciones) y no usa identificaciones que comiencen con c
Esta es una pequeña solución de hacker, ¡pero funciona!
No es necesario utilizar la id o el name para seleccionar las casillas de verificación y/o sus etiquetas relacionadas. Puedes simplificar tu código así
change en ellas..filter() ..map() y .get() . $(document).ready(function () { let $checkboxes = $('input[type="checkbox"]'); $checkboxes.change(function () { let labels = $checkboxes.filter(':checked').map(function(){ return $(this).next('label').text().trim(); }).get(); $("#divchecked").html(labels.join('<br />') || "No Check box selected"); }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> checked: <input type="checkbox" id="c1" name="test" value="cricket" /> <label for="c1">Cricket</label> <input type="checkbox" id="c2" name="test" value="swimming" /> <label for="c2">Swimming</label> <input type="checkbox" id="c3" name="test" value="blog" /> <label for="c3">Blog</label> <input type="checkbox" id="c4" name="test" value="coding" /> <label for="c4">Coding</label> <br/> <br/> Selected checkbox:<br /> <div id="divchecked"></div>