如何在javascript中检查文本框的ID?

时间:2010-06-29 19:04:44

标签: javascript jquery javascript-events

我有这个很棒的javascript,会自动使用数字填充页面上所有文本框的值,从1开始然后再增加。

 function editTextBoxes() {
        var textboxs = $('input:text');

        for (i = 0; i <= textboxs.length; i++) {
            $('input:text:eq(' + i + ')').val(i + 1);
        }
    }

但是,我只想填写ID 包含 txtSortOrder

的文本框

有人可以帮我修一下这句话:(这只是一个猜测)

if ($('input:text:eq(' + i + ')').ID.Contains("txtSortOrder")

2 个答案:

答案 0 :(得分:3)

您可以使用attr功能提取任何属性。对于Contains(),您可以使用indexOf,如果找不到搜索,则会返回-1

所以这给我们带来了这么远:

if ($('input:text:eq(' + i + ')').attr('id').indexOf("txtSortOrder") !== -1)

现在,对于您的迭代,您实际上可以使用each来处理查询结果。

E.g。

function editTextBoxes() {
    $('input:text[id~=txtSortOrder]').each(function (index) {
        $(this).val(index + 1);
    });
}

请注意,这会将您的选择器扩展为使用Attribute Contains word Selectorinput:text[id~=txtSortOrder]

这意味着您无需手动进行ID比较

答案 1 :(得分:1)

代码:

function editTextBoxes() {
    // it will select all textboxes which id contain txtSortOrder
    var textboxs = $('input:text').filter(function(){
        this.id.indexOf("txtSortOrder") !== -1;
    });

    for (i = 0; i <= textboxs.length; i++) {
        $('input:text:eq(' + i + ')').val(i + 1);
    }
}