ASP Classic- split() by value for multi select

ASP Classic- split() by value for multi select

我有多个 select 如下:

<select name="fnme" onchange="myFnm()" multiple>
  <option value="STR12(12,YU,IO)">STR12(12,YU,IO)</option>
  <option value="STR13(13,YU,IO)">STR12(13,YU,IO)</option>
  <option value="STR14(14,YU,IO)">STR12(14,YU,IO)</option>
  <option value="STR15(15,YU,IO)">STR12(15,YU,IO)</option>
</select>

ASP代码:

<%
dim fnm,element
fnm=Split(Request("fnme"),",")
for each element in fnm
  Response.Write("<p>--qq-- " & element & " </p>")
Next
%>

当我 select "STR12(12,YU,IO)" 和 "STR12(13,YU,IO)" 时,输出将变成这样:

--qq-- STR12(12 

--qq-- YU

--qq-- IO)

--qq-- STR13(13 

--qq-- YU

--qq-- IO)

我希望输出不是这种输出:

--qq-- STR12(12,YU,IO)

--qq-- STR12(13,YU,IO)

我会在每个值的末尾添加一个分隔符,如下所示:

<select name="fnme" onchange="myFnm()" multiple>
  <option value="STR12(12,YU,IO)|">STR12(12,YU,IO)</option>
  <option value="STR13(13,YU,IO)|">STR12(13,YU,IO)</option>
  <option value="STR14(14,YU,IO)|">STR12(14,YU,IO)</option>
  <option value="STR15(15,YU,IO)|">STR12(15,YU,IO)</option>
</select>

那么,您的 ASP 代码将是:

<%
dim fnm,element
fnm=Split(fnme,"|,")
for each element in fnm
   if element <> "" then
      if Right( element, 1 ) = "|" then element = Left( element, Len( element ) - 1 )
      Response.Write("<p>--qq-- " & element & " </p>")
   end if
Next
%>