我正在做一个网站的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中的方法,以知道选择了哪个产品。
发布于 2014-07-07 12:07:50
小提琴
<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
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
发布于 2014-07-07 11:36:04
如果产品位于数组中,则可以使用以下代码:
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.
发布于 2014-07-07 11:36:16
如果为此使用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);不过,如果要将&插入文档中,则建议使用&而不是文字&。
https://stackoverflow.com/questions/24609463
复制相似问题