Javascript jquery:基于文本框值填充下拉列表

Javascript jquery:基于文本框值填充下拉列表,javascript,jquery,Javascript,Jquery,我试图根据页面加载和文本更改时文本框中的输入填充一个下拉框。我可以使用下面的代码填充页面加载时的下拉列表。现在,当我向文本框中添加新文本时,我希望将新文本追加到下拉列表中,或者如果我编辑任何现有文本,则应更新列表。我该怎么做 这是我的密码 (function($) { $(document).ready(function() { $("[id^=id_fields-][id$=_options_0]").load('change',function() { init

我试图根据页面加载和文本更改时文本框中的输入填充一个下拉框。我可以使用下面的代码填充页面加载时的下拉列表。现在,当我向文本框中添加新文本时,我希望将新文本追加到下拉列表中,或者如果我编辑任何现有文本,则应更新列表。我该怎么做

这是我的密码

(function($) {

$(document).ready(function() {

    $("[id^=id_fields-][id$=_options_0]").load('change',function() {
        init = this.id.match(/id_fields-\d+/);
        choices = $(this).val().split("\n");
        $.each(choices, function(val, text){
             $('[id^='+init+'][id$=-choice_text]').append( new Option(text));               
        });
    });
 });
});
这可能有用

var myFunction = function() {
    init = this.id.match(/id_fields-\d+/);
    choices = $(this).val().split("\n");
    $.each(choices, function(val, text){
         $('[id^='+init+'][id$=-choice_text]').append( new Option(text));               
     });
};

$(document).ready(function() {
    myFunction.call($("[id^=id_fields-][id$=_options_0]"));    
    $("[id^=id_fields-][id$=_options_0]").on('change',myFunction);
 });

“..
.load('change'
..”?!还要注意,您不仅没有在上面的函数中实际运行代码,而且因为您将其设置为匿名函数,并且没有保存对它的引用,所以根本无法运行该代码。
.on('change',functions()
…将在选择器确定的元素的值发生更改时触发函数。此代码工作正常。它会在运行时填充下拉列表。但是如果我将“.load('change',function()…”更改为“.change(function())…'这仅在我对文本框进行任何更改时有效。但这会产生另一个问题。由于一个有趣的巧合,您的代码仅在加载时运行。请您详细说明一下,好吗?谢谢您的答复,但这不起作用。myfunction没有获取对象。