使用变量在 javascript 中重复
Repetition in javascript using variables
我正在努力简化我的 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();
Ozan 的回答很好,我也在做类似的事情。但是,我正在使用正则表达式,我想这会使它更安全。
$("select#selectme").change(function () {
$(this).find("option:selected").each(function () {
var letter = $(this).attr('value').match(/select-(.)/).n[1];
$("#industry").val(letter+'1');
});
}).change();
我正在努力简化我的 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();
Ozan 的回答很好,我也在做类似的事情。但是,我正在使用正则表达式,我想这会使它更安全。
$("select#selectme").change(function () {
$(this).find("option:selected").each(function () {
var letter = $(this).attr('value').match(/select-(.)/).n[1];
$("#industry").val(letter+'1');
});
}).change();