Encontré la siguiente secuencia de comandos para ocultar el botón 'siguiente' en mi formidable ID de campo de botón de opción de formulario de varios pasos '18' a menos que se seleccione 'Sí'. Sin embargo, también quiero que oculte el siguiente botón para otros ID de campo, por ejemplo:
ID de campo: 64 - Valor: segundo ID de campo: 35 - Valor: cinco
¿Cómo adaptaría el siguiente script para que funcione con múltiples campos/valores?
<script> jQuery(document).ready(function($){ var fieldID = 6; var showVal = 'gas'; var $nextButton = $(".frm_button_submit"); if (($("input[name^='item_meta[" + fieldID + "]']:checked").val() != showVal) && ($("input[type=hidden][name^='item_meta[" + fieldID + "]']").val() != showVal)) { $nextButton.css('visibility','hidden'); } $("input[name^='item_meta[" + fieldID + "]']").change(function(){ if ($("input[name^='item_meta[" + fieldID + "]']:checked").val() == showVal){ $nextButton.css('visibility','visible'); } else { $nextButton.css('visibility','hidden'); } }); }); </script>Cualquier ayuda es realmente apreciada ya que no sé cómo codificar JavaScript. Gracias.
Puede usar una matriz para almacenar fieldIds y showVals . Es importante tener en cuenta que cada índice debe tener un valor fieldId y showVal correspondiente. me gusta
var fieldID = [18, 64, 35]; // add more ids here var showVal = ['yes','text1','text2']; La iteración de toda la lógica para cada fieldId de campo como
for (i in fieldID) { ... }Actualice su código a continuación con la lógica
jQuery(document).ready(function($) { var fieldID = [18, 64, 35]; var showVal = ['yes','text1','text2']; var $nextButton = $(".frm_button_submit"); for (i in fieldID) { if (($("input[name^='item_meta[" + fieldID[i] + "]']:checked").val() != showVal[i]) && ($("input[type=hidden][name^='item_meta[" + fieldID[i] + "]']").val() != showVal[i])) { $nextButton.css('visibility', 'hidden'); } $("input[name^='item_meta[" + fieldID[i] + "]']").change(function() { if ($("input[name^='item_meta[" + fieldID[i] + "]']:checked").val() == showVal[i]) { $nextButton.css('visibility', 'visible'); } else { $nextButton.css('visibility', 'hidden'); } }); } });