Jquery 在动态创建的下拉列表中选择.js
这不是一个重复的问题。我看了其他的,他们要求一些不同的东西 当我创建一个静态Jquery 在动态创建的下拉列表中选择.js,jquery,Jquery,这不是一个重复的问题。我看了其他的,他们要求一些不同的东西 当我创建一个静态选项列表时。它工作完美,我可以选择项目,并从我选择的多选框中删除项目 因此,我随后删除了静态代码,并将其替换为ajax调用,以动态填充列表。这些项看起来与静态项相同,但列表不起作用 我有一个使用ajax调用创建的列表 下面是该动态列表的代码 $.ajax({ url:“./api/genericHandler.php?参数=选项关键字”, 键入:“POST”, 成功:功能(数据){ var json=$.parseJSO
选项列表时。它工作完美,我可以选择项目,并从我选择的多选框中删除项目
因此,我随后删除了静态代码,并将其替换为ajax
调用,以动态填充列表。这些项看起来与静态项相同,但列表不起作用
我有一个使用ajax调用创建的列表
下面是该动态列表的代码
$.ajax({
url:“./api/genericHandler.php?参数=选项关键字”,
键入:“POST”,
成功:功能(数据){
var json=$.parseJSON(数据);
$.each(json,function(){
var obj=json.shift();
$(“#媒体_关键字”)。追加(“+obj.key_单词+”);
});
}
});
我甚至尝试自己创建
项目(由插件创建)。它显示项目,但从不“做出”选择
$('.selected container')。单击(函数(){
$.ajax({
url:“./api/genericHandler.php?参数=选项关键字”,
键入:“POST”,
成功:函数(json){
var-myIndex=0;
var data=$.parseJSON(json);
$.each(数据,函数(){
var obj=data.shift();
myIndex+=1;
$(“.selected results”).append(“选项数组索引=“+myIndex+”值=”+
obj.uuid+“>”+obj.key\u word+“ ”;
});
}
});
});
有人能帮忙吗
更新
如果我按照应该的方式手动创建
列表,我会得到带有选项的下拉列表,但是如果我选择了一个项目。我得到一个未捕获类型错误:无法在控制台上设置未定义的错误的属性“selected”
这是选择的插件尝试设置项的地方。selected=true代码>
在selected.prototype.result_select=function(evt){
函数中
对不起,我知道这有点随意,但我真的不知道?多亏了罗布·施穆克
这就是这份工作对我的影响
$(文档).ready(函数(){
$.ajax({
url:“./api/genericHandler.php?参数=选项关键字”,
键入:“POST”,
成功:功能(数据){
var json=$.parseJSON(数据);
$.each(json,function(){
var obj=json.shift();
$(“#媒体_关键字”)。追加(“+obj.key_单词+”);
});
}
});
$('.selected container')。单击(函数(){//--------\
$(“#媒体_关键字”).trigger(“已选择:已更新”)|---此位
}); //--------/
});
您能在填充下拉列表后尝试添加此内容吗:$(“#媒体_关键字”)。已选择()
?是的,我同意@Greenonion的说法,应该重新初始化组合。@Greenonion-现在在上面的编辑中尝试了它。仍然不起作用。选项列表是在代码中创建的,但是插件没有生成
列表。在ajax返回任何reslts之前,有没有可能执行js代码?看看在这里的文档中,看起来您需要使用类似这样的东西,$(“#表单_字段”).trigger(“selected:updated”);
Groete van Plettenberg-Baai!
$.ajax({
url: "./api/genericHandler.php?argument=optionsKeywords",
type: 'POST',
success: function(data) {
var json = $.parseJSON(data);
$.each(json, function() {
var obj = json.shift();
$( "#media_keywords" ).append( "<option value="+obj.uuid+">"+ obj.key_word + "</option>" );
});
}
});
$('.chosen-container').click(function(){
$.ajax({
url: "./api/genericHandler.php?argument=optionsKeywords",
type: 'POST',
success: function(json) {
var myIndex = 0;
var data = $.parseJSON(json);
$.each(data, function() {
var obj = data.shift();
myIndex +=1;
$( ".chosen-results" ).append( "<li class='active-result' data->option-array-index="+myIndex+" value=" +
obj.uuid + ">" + obj.key_word + "</li>");
});
}
});
});
$( document ).ready(function() {
$.ajax({
url: "./api/genericHandler.php?argument=optionsKeywords",
type: 'POST',
success: function(data) {
var json = $.parseJSON(data);
$.each(json, function() {
var obj = json.shift();
$( "#media_keywords" ).append( "<option value="+obj.uuid+">"+ obj.key_word + "</option>" );
});
}
});
$('.chosen-container').click(function(){ //--------\
$("#media_keywords").trigger("chosen:updated"); |--- THIS BIT
}); //--------/
});