Tjena
Har den här funktionen:
$('#acode1,#acode2,#acode3,#acode4').click(function(e){
var obj = $(this).attr('id');
alert(obj);
var $gN = $('#PhoneCountry');
$gN.dialog("destroy");
$gN.dialog({
width: 330,
height: 150,
modal: true,
closeOnEscape: true,
buttons: {
Stäng: function() {
$(this).dialog('close');
}
}
});
$('select[name=AreaCode]').change(function(e){
var value = $(this).val();
$('#' + obj).val(value);
$gN.dialog("destroy");
});
});
Jag har fyra textfält med id'n #acode1,#acode2,#acode3 och #acode4. När man klickar i något av fälten öppnas en popup med en rullista, som heter "AreaCode".
Tanken är att när man valt en item i rullistan, ska dess värde fyllas i i det textfält man initialt klickat på.
Just nu funkar det endast första gången, fältet fylls i korrekt, men klickar man i nästa och väljer något i rullistan, fylls det "aktuella" fältet samt tidigare fält i med det nya värdet.
Har testat fram och tillbaka med alert's för att försöka hitta felet, men lyckas inte.
Jag antar att det är något objekt eller en variabel någonstans i funktionen som måste dödas när något valts?
Förslag?
Verkar vara "destroy" som ställer till med något, osäker på vad...
Den här koden fungerar hur som helst jättebra. Det jag gjorde istället var att "knyta" objektet till dialogrutan och sen stänger jag den istället för att förstöra den.
$('#acode1,#acode2,#acode3,#acode4').click(function(e){
var $gN = $('#PhoneCountry');
$gN.dialog("open").data("obj", $(this));
$gN.dialog({
open: function(event, ui) {
},
width: 330,
height: 150,
modal: true,
closeOnEscape: true,
buttons: {
Stäng: function() {
$(this).dialog('close');
}
}
});
$('select[name=AreaCode]').change(function(e){
var value = $(this).val();
$gN.data("obj").val(value);
$gN.dialog("close");
});
});
Om någon kan förklara vad skillnaden är vore det toppen, vill gärna förstå vad jag gör istället för att bara göra ;)