0

我有一个需要自定义验证的表单(引导选择不能很好地与 JQuery.validate 配合使用)。这种形式的主要规则是不能不选择任何下拉菜单。我推断当我选择一个下拉项时,class我的下拉 div 的属性会收到一个select2-container-active后缀,这使我能够编写一个自定义 JQuery 选择器:

 function validateSelect(id) {
    var result = {
        valid: $(id).hasClass("select2-container-active"),
        element: id
    }
    return result;
}

这会获取每个有效的(选定的)下拉菜单,这使我能够确定是否有任何无效的下拉菜单。class问题是当我点击提交按钮时,在我有机会调用该validateSelect方法之前,后缀已从属性中删除。它被调用,但找不到后缀,因此“认为”没有选择下拉项目,即使我在每个下拉菜单中都选择了一个项目。

如何防止按钮在提交(单击)时删除此后缀?

编辑: 这是下拉列表之一的 HTML:

<div class="control-group">
                <label class="control-label" for="selectInsert02">City:</label>
                <div class="controls">
                    <select name="citiesSelect" id="selectInsert02" class="input-xlarge with-search" data-bind="foreach: certificationModel.citiesList" required>
                        <option data-bind="text: Name, value: CityID"></option>
                    </select>
                </div>
            </div>
4

1 回答 1

1

我看到它的方式有两个选项:一个:创建一个默认选项,它不是像“--select--”这样的有效选项,验证该选项没有被选中。二:创建一个“onclick”处理程序来验证是否设置了正确的选项,然后分配一个类似“selected”的类来检查(在该处理程序中,如果“selected”类存在但正确的选项不存在,则应该删除它) t 选择)

于 2013-10-25T14:27:39.590 回答