1

我有一个包含很多选择元素的表单。在每个选择元素的模糊中,我需要检查用户是否从下拉列表中选择了一个值。如果他没有选择值,则应突出显示该下拉列表。

$('#test_form .class_dd').blur(function () {
    var input = $('option:selected').val();
    alert($('option:selected').val());
    alert(!($('option:selected').val()));
    input.next('div.error_text').remove();
    input.removeClass('highlight');
    if (!input) {
        input.removeClass('green');
        input.addClass('highlight');
        var $msg = $(this).attr('title');
        input.after('<div class="error_text">' + $msg + '</div>');
    }
});

现在,如果我单击下拉菜单并且不选择值并转到下一个字段,则 alert($('option:selected').val()); 给我空警报。如果我选择警报再次给我的任何值空值。所以总是给出空警报,它不会被突出显示。但是如果我使用 $('#dropdownID').val(); 它给了我正确的价值。那么如何处理这种情况呢?

4

1 回答 1

0

我将其剥离到最低限度,以便于理解。

你应该做这个:

$('select').blur(function(){
    if($(this).val() == 0){
        //not selected
        $(this).addClass('high');
    }
}).change(function(){
    if($(this).val() != 0){
        //selected
        $(this).removeClass('high');
    }
});

这是演示

并不是说我添加了更改触发器,否则当您选择一个选项时,它看起来仍然是错误的,希望这是您的目标功能。

以防万一,我正在连接函数,这与这样做是一样

于 2013-11-07T14:46:06.187 回答