无法动态设置ID并检查选择类型

时间:2015-08-21 07:21:55

标签: javascript jquery

我正在尝试检查选择是文本框还是下拉并相应地执行操作。我有以下代码:

function isSelectOrTextField(id) {
            var element = id;
            if(element.tagName === 'SELECT') {
                var sel = '#' + element 
                alert(  $(sel option :selected).val());
            }
            if(element.tagName === 'INPUT' && element.type === 'text') {
                var tem = $('#' + element).val();
                alert(tem);
            }
            return false;
        } 

我无法动态附加id。正常的语法是这样的:

$("#yourdropdownid option:selected").text();

由于id是动态的,我不知道如何形成语法。请帮忙

3 个答案:

答案 0 :(得分:1)

.val()功能适用于selectinput

  

.val()方法主要用于获取表单元素的值,例如inputselecttextarea

所以简单地使用它。

function isSelectOrTextField(id) {
    var tem = $('#' + element).val();
    alert(tem);
} 

答案 1 :(得分:1)

试着像这样使用:

var sel = '#' + element 
alert($(sel).val());

$(sel).val()表示下拉列表的值,表示所选选项的值。

答案 2 :(得分:0)

您想要检索元素本身:

var element = document.getElementById(id);

看起来应该更像:

 function isSelectOrTextField(id) {
        var element = $('#'+id)[0];
        if(element.tagName === 'SELECT') {

            alert(  $(element).val());
        }
        if(element.tagName === 'INPUT' && element.type === 'text') {
            var tem = $(element).val();
            alert(tem);
        }
        return false;
    } 

请注意,如果您只是检索该值,jquery将为您处理。