#vbscript #asp-classic
#vbscript #asp-классический
Вопрос:
привет, ребята, мне трудно выполнять некоторое кодирование.
В настоящее время у меня есть этот код:
Response.Write "<option value='" amp; Trimplus(rs("User_Doc_No"),"") amp; "'>" amp; Trimplus(rs("User_Doc_No"),"") amp; "</option>"
и что я хочу сделать, это добавить инструкцию if внутри приведенного выше кода, подобного приведенному ниже, с атрибутом select внутри.
<OPTION value="<%=TrimPlus(rsReqNo("Assetcode"),"")%>" <%IF t_Assetcode=TrimPlus(rsReqNo("Assetcode"),"") THEN Response.Write "SELECTED" END IF%>>test</option>
после выполнения этого автоматически выбирается выпадающий вариант, если он равен t_Assetcode, указанному на странице.
любая помощь будет высоко оценена. ТИА! 🙂
Ответ №1:
Есть ли какая-то особая причина, по которой этот код должен быть запутан? Вы можете сделать следующее:
<%
Dim dbAssetCode
Dim sSelected
dbAssetCode = TrimPlus(rsReqNo("Assetcode"),"")
If t_Assetcode = dbAssetCode Then
sSelected = "SELECTED"
Else
sSelected = ""
End If
%>
<OPTION value="<%=dbAssetCode %>" <%=sSelected %> >test</option>
Его легче читать, а также он немного эффективнее ( TrimPlus(rsReqNo(«Assetcode»),»») кэшируется).
Ответ №2:
Я думаю, это то, что вы хотите, используйте IIf, это решит вашу проблему :
<OPTION value="<%=TrimPlus(rsReqNo("Assetcode"),"")%>" "<%=IIf t_Assetcode=TrimPlus(rsReqNo("Assetcode"),"") , "SELECTED", "" %>">test</option>
Не уверен насчет «вокруг этого: S
Редактировать :
Здесь с правильным синтаксисом :
Response.Write "<option value='" amp; Trimplus(rs("User_Doc_No"),"") amp; "'" amp; IIf(t_Assetcode = TrimPlus(rsReqNo("Assetcode"), ""), " SELECTED", "") amp; ">" amp; Trimplus(rs("User_Doc_No"),"") amp; "</option>"
Комментарии:
1. .Я думаю, вы неправильно поняли мой вопрос. в любом случае, спасибо за попытку. 🙂
Ответ №3:
Это должно сработать.
Dim outputString
outputString = "<option value='" amp; Trimplus(rs("User_Doc_No"),"") amp; "'"
If t_Assetcode = TrimPlus(rs("Assetcode"), "") Then
outputString = outputString amp; " SELECTED"
End If
outputString = outputString amp; ">" amp; Trimplus(rs("User_Doc_No"),"") amp; "</option>"
Response.Write outputString
Комментарии:
1. Я не проверял ваш синтаксис. Я только что добавил условный регистр «SELECTED» в ваш код. Теперь я рассмотрю синтаксис.
2. Я не уверен, стоит ли использовать rsReqNo или rs для Assetcode (поскольку я не могу видеть остальную часть вашего кода). Пожалуйста, внесите необходимые изменения.
3. .Я заменил те, которые должны быть. но все еще безуспешно.
4. Работает ли код, на который вы ссылались как «У меня в настоящее время есть этот код», правильно, за исключением возможности выбора? Или это тоже не работает?
5. .да, это работает. но без выбора. кстати, этот код размещен на странице ajax.