我在codeigniter视图中使用Jquery使用像这样的ajax调用获取HTML定义中的表单字段。
function getaddinfo(){
var modtabgrp = $("#modtabgrp").val();
$.ajax({
url:base_url+"Base/gridaddfetch?modtabgrp="+modtabgrp,
async:false,
cache:false,
success :function(data) {
$('#liveform').append(data);
},
});
}
现在这个响应包含基于select2插件的输入,我能够正确显示所有输入,但是没有启用select2输入。 在添加图标点击时启用基于select2插件的输入的功能就像这样,
$("#addicon").click(function(){
$('#stateid').select2('val','2');
$('#tabgropdropdown').select2('val','1');
}
此外,我确保在单击#addicon Add按钮之前,表单已加载并注入DOM树内。那么为什么#liveform Div中的#stateid和#tabgropdropdown元素没有被启用?
换句话说,为什么添加按钮事件相关事件没有与动态添加的输入元素绑定?
答案 0 :(得分:0)
这里你需要在调用ajax之后重新初始化该输入的select2()。
function getaddinfo(){
var modtabgrp = $("#modtabgrp").val();
$.ajax({
url:base_url+"Base/gridaddfetch?modtabgrp="+modtabgrp,
async:false,
cache:false,
success :function(data) {
$('#liveform').append(data);
$('#stateid').select2();
$('#tabgropdropdown').select2();
},
});
}