Javascript识别启用下拉选择类型

Javascript identifying enabled drop down select type

本文关键字:选择 类型 识别 启用 Javascript      更新时间:2023-09-26

我有一个包含多种类型输入字段的表单,它带有一些复杂的验证,可以根据用户输入或选择的内容禁用/启用各种输入类型。我使用JS来检查不同的启用输入类型,如果它们是空的,它保持运行总数。每当一个已启用的输入被修改时,CheckForm函数就会运行。

然而,我遇到的问题是确定哪些下拉选择类型是启用的,如果为空,则需要在alt_count变量中对它们进行计数。如果你看下面的代码,请注意,复选框和正常的文本输入类型工作正常,这是一个问题,只有选择一个类型。

代码:

function CheckForm() {
    var alt_count = 0;
    var field_list = '';
    $('tr#BaseTab td input:not(:button):not(:disabled), tr#BaseTab td select:not(:disabled)').each(function () {
        if ($(this).attr('type') === 'checkbox') {
            var temp_obj = $(this);
            var temp_name = $(this).attr('name');
            if ($('input[name=' + temp_name + ']:checked').length === 0) {
                alt_count += 1;
            }
        } else if ($(this).attr('type') === 'select-one') {
            if ($(this).attr("selectedIndex") === 0) {
                alt_count += 1;
            }
        } else {
            if ($(this).val() === '') {
                alt_count += 1;
            }
        }
    });

感谢您的帮助

select元素实际上没有type="select-one"属性。然而,DOM元素将有一个.type属性,允许您检查是否正在处理select-oneselect-multiple。所以,与其检查'type'属性,不如像这样检查这个属性:

else if ($(this)[0].type === 'select-one') {