У меня проблема в реализации и эффективном способе использования JQuery для выбора и выбора в выпадающем списке и размещения его в текстовом поле.См. Изображение ниже, проблема в том, что, во-первых, я выбираю элемент и в выпадающем списке, показанном 1, он правильно помещает элемент в желаемое текстовое поле, показанное 2, но позже, когда я выбираю из второго выпадающего списка предыдущие и текущие изменения.Весь код выглядит следующим образом.
$("input[name^=pasta_text]").focus(function() {
var gecerliid=$(this).parent().get(0).id;
var mevcutdeger=$(this).val();
var sondeger=$(this).val();
var seciliGrup="";
if(typeof orjinal === "undefined") {
var orjinal=$(this);
} else {
delete orjinal;
var orjinal=$(this);
}
alert($("#pastatext["+gecerliid+"]").id());
if($.inArray(mevcutdeger,Knowledge)>=0) { seciliGrup="Knowledge"; mevcutgrup=0; mevcutsira=$.inArray(mevcutdeger,Knowledge); }
if($.inArray(mevcutdeger,Comprehension)>=0) { seciliGrup="Comprehension"; mevcutgrup=1; mevcutsira=$.inArray(mevcutdeger,Comprehension); }
if($.inArray(mevcutdeger,Application)>=0) { seciliGrup="Application"; mevcutgrup=2; mevcutsira=$.inArray(mevcutdeger,Application); }
if($.inArray(mevcutdeger,Analysis)>=0) { seciliGrup="Analysis"; mevcutgrup=3; mevcutsira=$.inArray(mevcutdeger,Analysis); }
if($.inArray(mevcutdeger,Synthesis)>=0) { seciliGrup="Synthesis"; mevcutgrup=4; mevcutsira=$.inArray(mevcutdeger,Synthesis); }
if($.inArray(mevcutdeger,Evaluation)>=0) { seciliGrup="Evaluation"; mevcutgrup=5; mevcutsira=$.inArray(mevcutdeger,Evaluation); }
//$("#pasta_div").text(seciliGrup).show();
$(this).hide();
$("#learn_outcome").attr("size","49");
$('input[name=pasta_submit], select[name=pasta_grup], select[name=pasta_fiil]').remove();
$(this).before("<select name='pasta_grup' class='formin'>");
//<select name='pasta_grup[".($s+1)."]' class='formin'><option value='-1'>GRUP</option></select><select name='pasta_fiil[".($s+1)."]' class='formin'><option value='-1'>FİİL</option></select><input type='button' value='OK' class='formbutton' name='pasta_submit' id='pasta_submit'>
$.each(taxonomy, function(key, value) {
$("select[name=pasta_grup]")
.append($('<option>', { value : key })
.text(value));
});
$(this).before("</select>");
$("select[name=pasta_grup]").val(mevcutgrup);
$("select[name=pasta_fiil]").remove();
$(this).before("<select name='pasta_fiil' class='formin'>");
fiilOlustur(mevcutgrup);
$("select[name=pasta_fiil]").val(mevcutsira).focus();
$(this).before("</select>");
$(this).before("<input type='button' value='OK' class='formbutton' name='pasta_submit'>");
$("#pasta_div").text("mevcutdeger:"+mevcutdeger+" mevcutsira:"+mevcutsira+" mevcutgrup:"+mevcutgrup+" eleman:"+$(this).id);
$("select[name=pasta_grup]").live("change",function() {
mevcutgrup=$("select[name=pasta_grup] option:selected").val();
$('select[name=pasta_fiil]').empty();
fiilOlustur(mevcutgrup);
$('select[name=pasta_fiil] option:first').attr("selected","selected");
});
$("select[name=pasta_fiil]").live("change",function() {
sondeger=$("select[name=pasta_fiil] option:selected").text();
orjinal.val(sondeger);
$("#pasta_div").text("post change: "+sondeger);
});
$("input[name=pasta_submit]").live("click", function() {
orjinal.show().empty();
sondeger = $("select[name=pasta_fiil] option:selected").text();
$("#pasta_div").text("post click: "+sondeger);
orjinal.addClass("forminred").blur(function() { $(this).show(); });
$('input[name=pasta_submit], select[name=pasta_grup], select[name=pasta_fiil]').remove();
});
$("#pasta_div").text("last level: "+sondeger);
//$("#pasta_div").text("sondeger: "+sondeger+" sonra: "+$(this).val());
$(this).val(sondeger).addClass("forminred").blur(function() { $(this).show(); });
function fiilOlustur(grupno) {
if(grupno==0) { $.each(Knowledge, function(key, value) { $('select[name=pasta_fiil]').append($('<option>', { value : key }).text(value)); }); }
if(grupno==1) { $.each(Comprehension, function(key, value) { $('select[name=pasta_fiil]').append($('<option>', { value : key }).text(value)); }); }
if(grupno==2) { $.each(Application, function(key, value) { $('select[name=pasta_fiil]').append($('<option>', { value : key }).text(value)); }); }
if(grupno==3) { $.each(Analysis, function(key, value) { $('select[name=pasta_fiil]').append($('<option>', { value : key }).text(value)); }); }
if(grupno==4) { $.each(Synthesis, function(key, value) { $('select[name=pasta_fiil]').append($('<option>', { value : key }).text(value)); }); }
if(grupno==5) { $.each(Evaluation, function(key, value) { $('select[name=pasta_fiil]').append($('<option>', { value : key }).text(value)); }); }
}
/*if(seciliGrup<>"") {
fiilFonksiyon();
}*/
/*var mevcutdeger=$(this).index();
$("#pasta_div").text(mevcutdeger).show();
grupFonksiyon();*/
});
Не могли бы вы рассказать мне, как реализовать его более эффективно с помощью JQuery?Есть ли какой-то другой способ, которым вы знаете, который может решить мою проблему?Спасибо.