首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[HTML/JS]在字符串和隐藏的第二个单词之前添加"&“&如果该字符串中有一个单词

[HTML/JS]在字符串和隐藏的第二个单词之前添加"&“&如果该字符串中有一个单词
EN

Stack Overflow用户
提问于 2014-07-07 11:24:18
回答 4查看 399关注 0票数 0

我正在做一个网站的UI部分(HTML和JS)。在这方面,有一个选择4种不同类型的产品的表格。现在,我想在页面的末尾显示一个摘要。如果用户只选择了Type-1的产品,则将摘要显示为(Type-1)否则,如果选择类型-1、Type-2、Type-3的产品显示为(Type-1、Type-2和Type-3),或者如果选择类型2和4<代码>E29的产品显示E 110(Type-2&Type-4)<代码>E 211。我将如何决定何时添加,&,以及当不添加时,取决于所选产品的数量,以及在每种产品类型之后添加逗号,而不是只选择一个产品或只选择两个产品?每个产品都列在一个单独的下拉列表中,我使用每个下拉列表的onchange()调用javascript中的方法,以知道选择了哪个产品。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-07 12:07:50

小提琴

代码语言:javascript
复制
<input type="checkbox" value="Type 1" id="type_1" onchange="setType();" /> Type 1<br />
<input type="checkbox" value="Type 2" id="type_2" onchange="setType();" /> Type 2<br />
<input type="checkbox" value="Type 3" id="type_3" onchange="setType();" /> Type 3<br />
<input type="checkbox" value="Type 4" id="type_4" onchange="setType();" /> Type 4<br />
<textarea id="types"></textarea>  

JS

代码语言:javascript
复制
function setType() {
    var types = [];
    for ( var i = 1; i <= 4; i++ ) {
        var input = document.getElementById( "type_" + i );
        if ( input.checked ) {
            types.push( input.value );
        }
    }
    var textarea = document.getElementById( "types" );
    types = types.join( ", " );
    var index = types.lastIndexOf( "," );
    types = types.split( "" );
    types[ index ] = " &";
    types = types.join( "" );
    textarea.value = types;
}

P.S.我不喜欢substr

票数 1
EN

Stack Overflow用户

发布于 2014-07-07 11:36:04

如果产品位于数组中,则可以使用以下代码:

代码语言:javascript
复制
var myStringArray = [ "Type-1", "Type-2", "Type-3", "Type-4" ];
var arrayLength = myStringArray.length;
var string = myStringArray[0];
for (var i = 1; i < arrayLength - 1; i++) {
    string += ", " + myStringArray[i];
}
string += " & " + myStringArray[myStringArray.length - 1];

字符串结果将是:类型-1,类型-2,类型-3和类型-4.

票数 1
EN

Stack Overflow用户

发布于 2014-07-07 11:36:16

如果为此使用JavaScript,并且可以使用逗号分隔的产品列表,则可以简单地替换最后一个逗号。

代码语言:javascript
复制
var summary = '(Type-1, Type-2, Type-3)'; 
var i = summary.lastIndexOf(',');
if(i > -1){
   var summary = summary.substr(0,i) + ' &' + summary.substr(i+1);
}
console.log(summary);

不过,如果要将&amp;插入文档中,则建议使用&而不是文字&

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24609463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档