我正在尝试简化我的 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); ETC。 最好的方法是什么?谢谢。
最佳答案
$("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();
关于javascript - 在 javascript 中使用变量重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32597954/