JQuery没有为select元素触发

JQuery没有为select元素触发,jquery,Jquery,我正在为表单编写验证代码,除了表单中的两个select元素没有触发事件外,其他一切都正常。它们并没有什么特别之处,只是两者中的第一个选项都有value=''和selected disabled属性 有人能告诉我出了什么问题吗 以下是JQuery: var obj = { "iname" : {}, "old_price" : {}, "discount" : {}, "category" : {}, "subcategory" : {}, "ite

我正在为表单编写验证代码,除了表单中的两个select元素没有触发事件外,其他一切都正常。它们并没有什么特别之处,只是两者中的第一个选项都有value=''和selected disabled属性

有人能告诉我出了什么问题吗

以下是JQuery:

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。。导致提交的表单