jQuery加载后Select2不工作

Posted

技术标签:

【中文标题】jQuery加载后Select2不工作【英文标题】:Select2 not working after jquery load 【发布时间】:2018-02-04 14:59:11 【问题描述】:

我遇到了无法解决的问题。我所做的一切都行不通。我处理了很多表单,所以我决定为每个表单创建一个 php 文件,然后使用 ajax 加载调用表单。

js文件:

$('#firstForm').on('submit', function(e) 
    e.preventDefault();
    $.ajax(
        url : "includes/firstform.inc.php",
        type: "POST",
        data: $(this).serialize(),
        success: function (data) 
        $('.content-container').load('forms/zipscreens-form.php');

        ,
        error: function (jXHR, textStatus, errorThrown) 

        
    );
);

html 容器:

<div class="content-container">
// in this div the form will be stored.
</div>

选择表格:

<select class="js-example-basic-single" name="selectWidth">
  <?php 
   for ($row = 1; $row <= $lastRow; $row++) 
    echo "<option value='AL'>"; echo $worksheet->getCell('A'.$row)->getValue(); echo "</option>'";
   
  ?>
</select>

为什么这不起作用?

【问题讨论】:

您的代码中没有任何部分初始化 Select2,这就是原因? 你能解释一下怎么做吗?我是 jQuery 的新手。 阅读插件文档以了解如何初始化它:select2.github.io/examples.html 我想不通。你有机会帮我吗? 那不行..还是一样 【参考方案1】:

您需要初始化 select2()。您可以在加载调用完成后执行此操作。所以,而不是:

$('.content-container').load('forms/zipscreens-form.php');

使用..

$( ".content-container" ).load( "forms/zipscreens-form.php", function() 
    $(".js-example-basic-single").select2();
);

【讨论】:

克里斯,你真是个天才!这就是我需要知道的。谢谢克里斯,因为这个,我整天都在头疼。 乐于助人 ;-) 小心你没有两个jquery互相争斗

以上是关于jQuery加载后Select2不工作的主要内容,如果未能解决你的问题,请参考以下文章

select2加载后如何显示一个类

select2 和 jquery 验证无法正常工作

jquery select2 - 不工作

Select2插件ajax方式加载数据并刷新页面数据回显

jQuery select2 AJAX 不工作

Jquery Select2 插件版本检查