variable valor una requerido por obtener number guardar formulario enviar campo asignar jquery drop-down-menu

jquery - una - obtener valor de un input php



cómo evitar cambiar el valor de la casilla de selección si digo no para confirmar (3)

Estoy utilizando un cuadro de selección de país, cuando el usuario selecciona un país, luego aparece el enlace Agregar sucursal y el usuario agrega sucursales en ese país, pero cuando el usuario desea cambiar de país, todas las sucursales relacionadas con ese país deben ser destruidas. antes de cambiar un país, aparece un cuadro de confirmación que muestra una advertencia ... todo funciona bien, pero

Si hago clic en "Cancelar" en el cuadro de confirmación, las sucursales permanecen allí, pero el valor del cuadro de selección ha cambiado a un nuevo país (incluso si hago clic en Cancelar)

Necesito que si el usuario cancela para cambiar el país, seleccione el valor del cuadro también sería el país anterior.

por favor, dile cómo hacerlo con JQuery mi código se da a continuación

<form> <table> <tr> <td >Select Country :</td> <td > <select name="country_id" id="country" class="selectbox" title="Please select country" validate="required:true" onchange="javascript:showBranch();" > <option value="" >Select Country </option> <option value="00002" > Afghanistan</option> <option value="00054" > Croatia</option> <option value="00060" > Dominica</option> <option value="00062" > Ecuador</option> <option value="00064" > El Salvador</option> <option value="00067" > Estonia</option> <option value="00099" > India</option> </select> </td> </tr> <tr> <td>&nbsp;</td> <td> <div id="branches"> <!-- Raw Branch Details--> <div><span><a title="First Branch" href="">First</a></span></div> <div><span><a title="Second Branch" href="">Second</a></span></div> <div><span><a title="Third Branch" href="">Third</a></span></div> </div> <div id="brancherror"></div> </td> </tr> <tr> <td>&nbsp;</td> <td align="left"> <span id="branchLink" style="display:none" > <a href="#" class="thickbox" id="branchhref">Add Branch(es)</a></span> </td> </tr> </table> </form> function showBranch() { var countryid = jQuery(''#country'').val(); if (jQuery("#branches>div").size()) { if (confirm(''If country has been changed then data corresponding to present branches will lost.Do you want to continue?'')) { jQuery(''#branches'').html(''''); } jQuery(''#branchhref'').attr({href: "index.php?option=com_advertise&view=createbranch&format=raw&country=" + countryid + "&KeepThis=true&TB_iframe=true&height=500&width=900",title: ''Add Branch''}); } else { jQuery(''#branchhref'').attr({href : "index.php?option=com_advertise&view=createbranch&format=raw&country=" + countryid + "&KeepThis=true&TB_iframe=true&height=500&width=900",title:''Add Branch''}); return true; } jQuery(''#branchLink'').show(); }


A continuación la solución funcionó para mí. En primer lugar se llama onfocus. Este evento mantiene el valor actual en un atributo "PrvSelectedValue". En segundo lugar se llama a onchange, establecemos el valor anterior si el usuario cancela la confirmación popup.return false se utiliza para evitar la devolución de datos en ASP.NET.

<select onfocus="this.setAttribute(''PrvSelectedValue'',this.value);" onchange="if(confirm(''Do you want to change?'')==false){ this.value=this.getAttribute(''PrvSelectedValue'');return false; }" ></select>


Estoy publicando esta respuesta a riesgo de ser ridiculizada porque, ciertamente, soy bastante novatada en estas cosas (solo he estado aprendiendo un mes o dos), pero pude manejar una situación similar (cambio de zonas horarias) solo haciendo esto:

$(".timezonedropdown").change(function() { var newVal = $(this).val(); if(!confirm("Are you sure?")) { $(this).val($(this).closest(''select'').attr("data-originaltimezone")); } });

Luego en mi html incluí data-originaltimezone = "lo que sea" en la selección. También tuve la clase timezonedropdown para el selecto. ¡Espero que ayude! :)


Solo puede almacenar el valor anterior y restablecerlo si es necesario, de esta manera:

var countryVal; $("#country").change(function() { var newVal = $(this).val(); if (!confirm("Are you sure you wish to destroy these country branches?")) { $(this).val(countryVal); //set back return; //abort! } //destroy branches countryVal = newVal; //store new value for next time });

O use .data() como sugiere @Gaby , así:

$("#country").change(function() { var newVal = $(this).val(); if (!confirm("Are you sure you wish to destroy these country branches?")) { $(this).val($.data(this, ''val'')); //set back return; //abort! } //destroy branches $.data(this, ''val'', newVal); //store new value for next time });