首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jQuery验证引擎中使用MsDropDown

在jQuery验证引擎中使用MsDropDown
EN

Stack Overflow用户
提问于 2013-02-18 19:06:15
回答 1查看 1.7K关注 0票数 0

我使用msDropDown 3.3来选择表单,如下所示:

代码语言:javascript
复制
        <tr><td>Valutanem *</td><td><select name="valutanem" id="valutanem"  style="width:100%;" class="validate[required]" onchange="getvaluta($('#valutanem option:selected').val());">
<option value='0'>Change</option>      
<option value='HUF'>HUF</option>
  <option value='EUR'>EUR</option>
  </td></tr>

<script>

$(document).ready(function() {


var valutanemDropdown = $("#valutanem").msDropdown().data("dd");

});

</script>

以下是该项目的主页:

http://www.marghoobsuleman.com/jquery-image-dropdown

我想使用jQuery验证引擎来确保选择了某些内容!

医生说,只需添加class="validate[required]"进行选择,但它不起作用!为什么?

可以在以下位置找到验证引擎:

https://github.com/posabsolute/jQuery-Validation-Engine

EN

回答 1

Stack Overflow用户

发布于 2013-08-10 00:18:03

代码语言:javascript
复制
            This is because the select element is being wrapped by a div with the class
    "ddOutOfVision" which has overflow:hidden which makes 
    the validation error to not be visible. 

            In order to fix that you can simply do this in javascript:

             if ($('#valutanem').length > 0) {


          if  ($("#valutanem").hasClass('validate[required]'))
          {
            $("#valutanem_msdd").addClass('validate[required]')

            var element  = document.getElementById("valutanem_msdd")

     // need to clone the element because IE does not allow to set the type 
    //only if it is a newly created element
            var newObject = element.cloneNode(true);  
            newObject.type = "ms-dropdown-source";

            element.parentNode.replaceChild(newObject,element)
          }



        $.valHooks['ms-dropdown-source'] = {
          get: function (el) {
            element_id = $.trim($(el).attr('id').split('_msdd')[0])
            return $("#"+element_id).val();
          },
          set: function (el, val) {
            element_id = $.trim($(el).attr('id').split('_msdd')[0])
            return $("#"+element_id).val(val);
          }
        };

    }


       tested with Chrome, Firefox, IE6, IE7 and IE8 and works. NOt sure about other browsers
Sorry if the identation is wrong. I am not very used to Markdown
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14934824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档