使用变量在javascript中重复

使用变量在javascript中重复,javascript,jquery,variables,repeat,Javascript,Jquery,Variables,Repeat,我试图简化我的javascript。这就是我得到的: $("select#selectme").change(function () { $(this).find("option:selected").each(function () { if ($(this).attr("value") == "select-a") { $('#industry').val('a1'); }

我试图简化我的javascript。这就是我得到的:

$("select#selectme").change(function () {
        $(this).find("option:selected").each(function () {
            if ($(this).attr("value") == "select-a") {
                $('#industry').val('a1');
            }
            else if ($(this).attr("value") == "select-b") {
                $('#industry').val('b1');
            }
    });
    }).change();
等等,整个字母表。我希望动态获取字母表中的字母,以避免重复:“select-x”和.val('x1);等 最好的方法是什么?谢谢

$("select#selectme").change(function () {
    $(this).find("option:selected").each(function () {
        var val = $(this).attr("value"),
            letter = val.substring(val.length - 1);
        $("#industry").val(letter + "1");
    });
}).change();
你可以得到这样的字母,这样你就不需要整个字母表的所有if条件

您还只是覆盖了
#industry
的值,因此在这种情况下,您对所选选项的迭代似乎是不必要的。您可以只得到最后一个的值,但我假设您实际上有另一个原因来进行此迭代

如果您实际上不需要通过所选选项进行循环,您可以将其删除并获得最后一个选项

$("select#selectme").change(function () {
    var val = $(this).val(),
        lastval = val[val.length - 1],
        letter = lastval.substring(lastval.length - 1);
    $("#industry").val(letter + "1");
}).change();
你可以得到这样的字母,这样你就不需要整个字母表的所有if条件

您还只是覆盖了
#industry
的值,因此在这种情况下,您对所选选项的迭代似乎是不必要的。您可以只得到最后一个的值,但我假设您实际上有另一个原因来进行此迭代

如果您实际上不需要通过所选选项进行循环,您可以将其删除并获得最后一个选项

$("select#selectme").change(function () {
    var val = $(this).val(),
        lastval = val[val.length - 1],
        letter = lastval.substring(lastval.length - 1);
    $("#industry").val(letter + "1");
}).change();
你可以得到这样的字母,这样你就不需要整个字母表的所有if条件

您还只是覆盖了
#industry
的值,因此在这种情况下,您对所选选项的迭代似乎是不必要的。您可以只得到最后一个的值,但我假设您实际上有另一个原因来进行此迭代

如果您实际上不需要通过所选选项进行循环,您可以将其删除并获得最后一个选项

$("select#selectme").change(function () {
    var val = $(this).val(),
        lastval = val[val.length - 1],
        letter = lastval.substring(lastval.length - 1);
    $("#industry").val(letter + "1");
}).change();
你可以得到这样的字母,这样你就不需要整个字母表的所有if条件

您还只是覆盖了
#industry
的值,因此在这种情况下,您对所选选项的迭代似乎是不必要的。您可以只得到最后一个的值,但我假设您实际上有另一个原因来进行此迭代

如果您实际上不需要通过所选选项进行循环,您可以将其删除并获得最后一个选项

$("select#selectme").change(function () {
    var val = $(this).val(),
        lastval = val[val.length - 1],
        letter = lastval.substring(lastval.length - 1);
    $("#industry").val(letter + "1");
}).change();

奥桑的回答很好,我也在做类似的事情。然而,我使用的是regex,我想这会使它更安全

$("select#selectme").change(function () {
    $(this).find("option:selected").each(function () {
        var letter = $(this).attr('value').match(/select-(.)/).n[1];
        $("#industry").val(letter+'1');
    });
}).change();

奥桑的回答很好,我也在做类似的事情。然而,我使用的是regex,我想这会使它更安全

$("select#selectme").change(function () {
    $(this).find("option:selected").each(function () {
        var letter = $(this).attr('value').match(/select-(.)/).n[1];
        $("#industry").val(letter+'1');
    });
}).change();

奥桑的回答很好,我也在做类似的事情。然而,我使用的是regex,我想这会使它更安全

$("select#selectme").change(function () {
    $(this).find("option:selected").each(function () {
        var letter = $(this).attr('value').match(/select-(.)/).n[1];
        $("#industry").val(letter+'1');
    });
}).change();

奥桑的回答很好,我也在做类似的事情。然而,我使用的是regex,我想这会使它更安全

$("select#selectme").change(function () {
    $(this).find("option:selected").each(function () {
        var letter = $(this).attr('value').match(/select-(.)/).n[1];
        $("#industry").val(letter+'1');
    });
}).change();


使用jquery执行此操作的可能重复是一个非常小的编辑。我已经在使用jquery,因此不为此解决方案添加另一个库似乎是合乎逻辑的。不过谢谢你的链接。这个想法并不是要实际使用u.js。但是考虑到拆分所有字符的字符串并对其进行迭代的想法。这就是说,如果您确定自己的值是select-X,@Ozan的解决方案似乎很理想。使用jquery执行此操作的可能重复是一个非常小的编辑。我已经在使用jquery,因此不为此解决方案添加另一个库似乎是合乎逻辑的。不过谢谢你的链接。这个想法并不是要实际使用u.js。但是考虑到拆分所有字符的字符串并对其进行迭代的想法。这就是说,如果您确定自己的值是select-X,@Ozan的解决方案似乎很理想。使用jquery执行此操作的可能重复是一个非常小的编辑。我已经在使用jquery,因此不为此解决方案添加另一个库似乎是合乎逻辑的。不过谢谢你的链接。这个想法并不是要实际使用u.js。但是考虑到拆分所有字符的字符串并对其进行迭代的想法。这就是说,如果您确定自己的值是select-X,@Ozan的解决方案似乎很理想。使用jquery执行此操作的可能重复是一个非常小的编辑。我已经在使用jquery,因此不为此解决方案添加另一个库似乎是合乎逻辑的。不过谢谢你的链接。这个想法并不是要实际使用u.js。但是考虑到拆分所有字符的字符串并对其进行迭代的想法。也就是说,如果你确定你的值是select-X,@Ozan的解决方案似乎很理想。谢谢你,两个选项都很有效。为什么要使用这个方法,不是吗?另一个方法从字符串中选择最后一个字母,依此类推。我的方法检查此表单中是否存在字符串
select-x
,然后选择x。否则它就不会回到这个主题,我有一个类似的情况,我需要使用列表中的字母创建一个词汇表,而不是下拉列表:$(“.alphabet.alpha-a”)。单击(function(){$(((.ul.list-object-a”)。addClass(“selected”);所以alpha-a会显示list-object-a,alpha-b会显示list-object-b等等。我试过使用你的代码,但似乎无法使它工作。有什么想法吗?应该是:
var x=$(this.attr(“class”).match(/alpha-()/)[1];$(“ul.list object-”+x.addClass(“selected”)
谢谢穆罕默德,不幸的是,这不起作用,也许我做错了什么。我有一个列表,谢谢你,两个选项都很好。你为什么使用这个方法,不是一样吗?另一个方法从字符串中选择最后一个字母,依此类推。我的方法检查字符串是否以这种形式存在
select-x
然后选择x.o因此,不只是回到这个主题,我有一个类似的情况,我需要使用列表中的字母创建一个词汇表,而不是下拉列表:$(“.alphabet.alpha-a”)。单击(函数(){$(((.ul.list-object-a”)。添加类(“选定”);因此alpha-a将显示list-object-a,alpha-b将显示list-object-b等。我尝试使用您的代码,但似乎无法正常工作。有什么想法吗?应该是:
var x=$(this.attr(“class”).match(/alpha-()/)[1];$()ul.l