【发布时间】:2019-08-26 04:51:40
【问题描述】:
我创建了一个名为 itemNameAreaReplace 的数组,其中包含我需要查找的区域。
如何在 include() 方法中使用它?
因此,如果它与单词“UK”匹配,我可以将其存储并在每个 input[name=item_name] 中将其替换为“Europe”或其他内容。
const itemName = $(".postal input[name=item_name]");
const itemNameAreaReplace = ['UK', 'EUROPE', 'AMERICA', 'REST OF WORLD'];
console.log(itemName.val());
$("#selectArea").change(function() {
const selectedArea = $(this).val();
const replace = () => {
if (itemName.val().includes('UK')) {
console.log("Replacing UK with Europe...");
itemName.val(itemName.val().replace('UK', 'Europe'));
console.log(itemName.val());
} else {
console.log("Replacing Europe with UK...");
itemName.val(itemName.val().replace('Europe', 'UK'));
console.log(itemName.val());
}
};
replace();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control" id="selectArea" name="selectArea">
<option value="post-uk" selected="selected">UK</option>
<option value="post-eu">Europe</option>
<option value="post-am">USA, South America and Canada</option>
<option value="post-rw">Rest of World - Asia, Japan, Australia</option>
</select>
<form class="postal 0" target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<!-- Change UK -->
<input type="hidden" name="item_name" value="(ABC) - UK - Product" />
</form>
【问题讨论】:
-
你能把你的问题的简短版本带来吗?我喜欢帮忙,但是阅读时间太长了
-
如上面的评论 - 您的大部分代码似乎与问题无关(隐藏的电子邮件字段?),更多信息在这里minimal reproducible example
-
对不起,我基本上是在尝试替换 item_name 的值,但只有一个单词。例如,如果所选选项显示日本,则 item_name 将显示“ABC - 日本 - 产品”,而不是“ABC - 英国 - 产品”。
-
我已经编辑了帖子。真的很抱歉,我不是一个很好的沟通者。
-
“我如何在 include() 方法中使用它” - 简短的回答:你不需要。
string.include()只会使用另一个字符串。您可以选择从简单循环到itemNameAreaReplace,再到将数组转换为正则表达式;或过度设计的过程,例如将文本按空格拆分为数组并进行连接。
标签: javascript jquery html arrays dom