JQuery没有为select元素触发
我正在为表单编写验证代码,除了表单中的两个select元素没有触发事件外,其他一切都正常。它们并没有什么特别之处,只是两者中的第一个选项都有value=''和selected disabled属性 有人能告诉我出了什么问题吗 以下是JQuery:JQuery没有为select元素触发,jquery,Jquery,我正在为表单编写验证代码,除了表单中的两个select元素没有触发事件外,其他一切都正常。它们并没有什么特别之处,只是两者中的第一个选项都有value=''和selected disabled属性 有人能告诉我出了什么问题吗 以下是JQuery: var obj = { "iname" : {}, "old_price" : {}, "discount" : {}, "category" : {}, "subcategory" : {}, "ite
var obj = {
"iname" : {},
"old_price" : {},
"discount" : {},
"category" : {},
"subcategory" : {},
"item_image" : {},
};
$('#form').on("submit", function(){
var formvalid = true;
//ON SUBMIT test if input elements have empty value. NOT FIRING FOR SELECT!
$.each(obj, function(key){
if($("#"+key+"").val()==''){
$("#"+key+"").addClass('form-control');
$("#"+key+"").parent().addClass('has-error');
$("#"+key+"").parent().append('<span id="glyph-error" class="glyphicon glyphicon-remove form-control-feedback"></span>');
$("#"+key+"").parent().append('<div class="error-hint-empty alert alert alert-warning"><span class="warning-glyph glyphicon glyphicon-warning-sign"></span>You must input '+$("#"+key+"").parent().find('label').text()+'!</div>');
formvalid = false;
}
});// End of empty value test
return formvalid;
});
var obj={
“iname”:{},
“旧价格”:{},
“折扣”:{},
“类别”:{},
“子类别”:{},
“项_图像”:{},
};
$('#form')。关于(“提交”,函数(){
var formvalid=true;
//在提交测试时,如果输入元素的值为空,则不触发SELECT!
$。每个(对象、功能(键){
if($(“#”+key+).val()=''){
$(“#”+key+).addClass('form-control');
$(“#”+key+).parent().addClass('has-error');
$(“#”+key+).parent().append(“”);
$(“#“+key+”).parent().append('必须输入'+$(“#“+key+”).parent().find('label').text()+!');
formvalid=false;
}
});//空值测试结束
返回表格有效;
});
下面是在submit事件中放置警报的步骤,如下所示,以检查事件是否已触发
$('#form').on("submit", function(){
alert('submit invoked')
var formvalid = true;
//ON SUBMIT test if input elements have empty value. NOT FIRING FOR SELECT!
$.each(obj, function(key){
if($("#"+key+"").val()==''){
$("#"+key+"").addClass('form-control');
$("#"+key+"").parent().addClass('has-error');
$("#"+key+"").parent().append('<span id="glyph-error" class="glyphicon glyphicon-remove form-control-feedback"></span>');
$("#"+key+"").parent().append('<div class="error-hint-empty alert alert alert-warning"><span class="warning-glyph glyphicon glyphicon-warning-sign"></span>You must input '+$("#"+key+"").parent().find('label').text()+'!</div>');
formvalid = false;
}
});// End of empty value test
return formvalid;
});
$('#表单')。在(“提交”,函数()上){
警报('已调用提交')
var formvalid=true;
//在提交测试时,如果输入元素的值为空,则不触发SELECT!
$。每个(对象、功能(键){
if($(“#”+key+).val()=''){
$(“#”+key+).addClass('form-control');
$(“#”+key+).parent().addClass('has-error');
$(“#”+key+).parent().append(“”);
$(“#“+key+”).parent().append('必须输入'+$(“#“+key+”).parent().find('label').text()+!');
formvalid=false;
}
});//空值测试结束
返回表格有效;
});
这将帮助您确定是否是事件导致了问题
因为您还没有给出整个html。。检查是否已将jQuery文件包含在head标记中。由于该选项已禁用,因此select elements值为null而非
'
,请重试
$.each(obj, function (key) {
var value = $("#" + key + "").val();
if (value == '' || value == null) {
$("#" + key + "").addClass('form-control');
$("#" + key + "").parent().addClass('has-error');
$("#" + key + "").parent().append('<span id="glyph-error" class="glyphicon glyphicon-remove form-control-feedback"></span>');
$("#" + key + "").parent().append('<div class="error-hint-empty alert alert alert-warning"><span class="warning-glyph glyphicon glyphicon-warning-sign"></span>You must input ' + $("#" + key + "").parent().find('label').text() + '!</div>');
formvalid = false;
}
}); // End of empty value test
$。每个(对象、功能(键){
var值=$(“#”+key+”).val();
如果(值=“”| |值==null){
$(“#”+key+).addClass('form-control');
$(“#”+key+).parent().addClass('has-error');
$(“#”+key+).parent().append(“”);
$(“#“+key+”).parent().append('必须输入'+$(“#“+key+”).parent().find('label').text()+!');
formvalid=false;
}
}); // 空值测试结束
演示:您可以共享html吗?请共享更新的fiddle URL并添加html。。导致提交的表单