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没有获取对象。