javascript - 验证后无法在 select2 的输入中添加类

标签 javascript jquery html css

我正在使用 select2.js。

这是我用于表单的 html。

<div class="form-main">
  <ul style="display: block;" class="form-content">
    <li>
      <h2><span class="orange-text">1.</span> tell us your email</h2>
    </li>
    <li class="form-group">
      <input type="text" name="email" placeholder="Type it in here" data-required="true" data-toggle="tooltip" data-placement="left" data-email="true" class="form-control">
    </li>
  </ul>

  <ul style="display: none;" class="form-content">
    <li>
      <h2><span class="orange-text">2.</span>what are you selling?</h2></li>
    <li class="form-group">
      <select data-required="true" data-toggle="tooltip" data-placement="left" name="option" class="js-selection" multiple data-placeholder="Pick the ones that apply to you">
        <option value="" selected></option>
        <option value="1">Shipping / post</option>
        <option value="2">Customers can collect</option>
        <option value="3">Other</option>
      </select>
    </li>
  </ul>
</div>

验证后 class="error" 被添加到上述 html 的选择中,但未添加到 select2 的输入中。

请帮忙!!!!

这是 demo

最佳答案

Here是在 JS 中使用 select2 验证的表单验证示例。

    <form id="select2Form" method="post" class="form-horizontal">
        <select name="colors" class="form-control select2-select"
            multiple data-placeholder="Choose 2-4 colors">
            <option value="black">Black</option>
            <option value="blue">Blue</option>
            <option value="green">Green</option>
            <option value="orange">Orange</option>
            <option value="red">Red</option>
            <option value="yellow">Yellow</option>
            <option value="white">White</option>
        </select>
    </form>

以及要验证的 js:

$('#select2Form')
    .find('[name="colors"]')
        .select2()
        // Revalidate the color when it is changed
        .change(function(e) {
            $('#select2Form').formValidation('revalidateField', 'colors');
        })
        .end()
    .formValidation({
        framework: 'bootstrap',
        excluded: ':disabled',
        icon: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            colors: {
                validators: {
                    callback: {
                        message: 'Please choose 2-4 color you like most',
                        callback: function(value, validator, $field) {
                            // Get the selected options
                            var options = validator.getFieldElements('colors').val();
                            return (options != null && options.length >= 2 && options.length <= 4);
                        }
                    }
                }
            }
        }
    });

关于javascript - 验证后无法在 select2 的输入中添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30080639/

相关文章:

asp.net-mvc-3 - JQuery Ajax 调用 PDF 文件下载

javascript - Node.js 中的网页抓取/解析来检测 HTML 页面的语言?

javascript - jquery.val() 返回未定义

jquery - 如何使用 jQuery 删除周围的 DIV?

javascript - stackedgroupedChart 中的 nvd3 双 X 轴

javascript - 如何存储创建的 Canvas 对象

javascript - 页面/ View 背景不模糊

javascript - 如何通过 Postman 将 JSON 发送到 NodeJS Express Server?

javascript - addEventListener 到除一个元素之外的所有元素

javascript - 为什么 bootstrap CSS 在通过 jquery/javascript 打印时不可见