私は次のようにドロップダウンリストを検証するためにjQueryの検証を使用しています:ここ検証ドロップダウンリストにjQueryの検証の奇妙な行動
はjavascriptの一部です:
$.ready(function(){
$.validator.addMethod("dropdown", function (value, element) { return validateDropDowns(this, value, element); });
$('#form1').validate({
onsubmit: false,
focusInvalid: true,
highlight: function (element, errorClass, validClass) {
$(element).toggleClass('invalid');
$(element.form).find("label[for=" + element.id + "]").toggleClass(errorClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).toggleClass('invalid');
$(element.form).find("label[for=" + element.id + "]").toggleClass(errorClass);
}
});
});
function validateDropDowns(objContext, value, element) {
return objContext.optional(element) || value != "-1";
}
、ここでは、マークアップの一部です:
<asp:DropDownList runat="server" ID="cmbGender" ClientIDMode="Static" meta:resourcekey="cmbGenderResource1">
<asp:ListItem Selected="True" Value="-1" Text="please select gender" meta:resourcekey="ListItemResource1"></asp:ListItem>
<asp:ListItem Value="1" Text="male" meta:resourcekey="ListItemResource2"></asp:ListItem>
<asp:ListItem Value="2" Text="female" meta:resourcekey="ListItemResource3"></asp:ListItem>
</asp:DropDownList>
私は、ボタンを提出しており、そのクリックに私は、フォームreturn $("#form1").valid();
ChromeとFirefoxではすべて正常に機能しますが、IE9では非常に奇妙な動作をします。検証の前と検証後にドロップダウンが正常に機能します。ドロップダウンを開こうとするとすぐに閉じます。
これを解明したことがありますか?私はIE9で同じ動作を見ている。 –
ページのHTMLマークアップに欠落していた終了タグがありました。 –