Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引导multiselect插件在多页上未正确验证_Javascript_Jquery_Twitter Bootstrap_Jquery Validate_Bootstrap Multiselect - Fatal编程技术网

Javascript 引导multiselect插件在多页上未正确验证

Javascript 引导multiselect插件在多页上未正确验证,javascript,jquery,twitter-bootstrap,jquery-validate,bootstrap-multiselect,Javascript,Jquery,Twitter Bootstrap,Jquery Validate,Bootstrap Multiselect,我正在创建一个多页表单,并使用davidstutz引导多选择插件来选择选项。我在第一页使用2个多选,在第三页使用2个多选。最初它验证得很好,但如果在到达第三页后返回到前几页,“下一步”按钮停止工作,因为它也在验证第三页上的multiselect 这是用于multiselect的代码: $('#divisionList').multiselect({ maxHeight: 150, //enableCaseInsensitiveFiltering: true, numbe

我正在创建一个多页表单,并使用davidstutz引导多选择插件来选择选项。我在第一页使用2个多选,在第三页使用2个多选。最初它验证得很好,但如果在到达第三页后返回到前几页,“下一步”按钮停止工作,因为它也在验证第三页上的multiselect

这是用于multiselect的代码:

 $('#divisionList').multiselect({
    maxHeight: 150,
    //enableCaseInsensitiveFiltering: true,
    numberDisplayed: 1,
    nonSelectedText: '--Select Division--',
    disableIfEmpty: true,
    buttonClass: 'btn btn-default',
    buttonContainer: '<div class="btn-group btn-group-justified" />',
    //disabledText: 'There is no WorkItem SubHead...'
    onChange: function (element, checked) {
        $(element).closest('.multiselect').valid();
        if (checked === true) {
            $(document).click();
        } else if (checked === false) {

        }
    },
    templates: {
        button: '<a type="button" class="multiselect dropdown-toggle multiselect-title-text" style="width:95%;" data-toggle="dropdown"><span class="multiselect-selected-text"></span></a><a type="button" class="multiselect dropdown-toggle" style="width:5%;" data-toggle="dropdown"><span class="caret"></span></a>'
    }
});
下一步按钮工作如下:

     //Step 1
        if (current == 1) {
            // Check validation
            if ($('#addDbaProjectForm').valid()) {
                widget.show();
                widget.not(':eq(' + (current++) + ')').hide();
                setProgress(current);
            }
        }
工作小提琴-

1)对小提琴所做的更改:

1) 从rawgit.com为bootstrap-multiselect.js和bootstrap-multiselect.css文件添加了生产URL

2) 将
IIF
替换为
If

2)您需要在代码中进行的更改:

1) 根据步骤对窗体中的控件进行分组,为步骤1控件添加“step1”类,为步骤2控件添加“step2”类

<select class="form-control multiselect step1" name="districtList" id="districtList">
                          <option value="">--Select--</option>
                          <option value="A">A</option>
                          <option value="B">B</option>
                          <option value="C">C</option>
                          <option value="D">D</option>
                        </select>

3)需要相应地添加跳过按钮的代码。

您可以添加一个js提琴来复制该问题吗?那样你会得到更多的帮助。另外,发布您的HTMLi无法添加提琴,因为引导multiselect插件js不作为CDNB出现,但我创建了一个提琴来显示这个概念,但它不起作用:我检查了它,它在控制台窗口中抛出了一个错误。看看你能不能把它修好。那是复制错误。现在出现了实际情况:
<select class="form-control multiselect step1" name="districtList" id="districtList">
                          <option value="">--Select--</option>
                          <option value="A">A</option>
                          <option value="B">B</option>
                          <option value="C">C</option>
                          <option value="D">D</option>
                        </select>
//Step 1
  if (current == 1) {
    // Check validation
    if ($('.step1').valid()) {
      widget.show();
      widget.not(':eq(' + (current++) + ')').hide();
      setProgress(current);
    }
  }

  //Step 2
  else if (current == 2) {
    if($('.step2').valid()) {
      widget.show();
      widget.not(':eq(' + (current++) + ')').hide();
      setProgress(current);
    }
  }

  //Step 3
  else if (current == 3) {
    if ($('.step3').valid()) {
      widget.show();
      widget.not(':eq(' + (current++) + ')').hide();
      setProgress(current);
    }
  }