2016-12-15 14 views
0

Я попросил несколько месяцев назад, как скрыть несколько вариантов выпадающего списка на странице классического ASP, которые извлекаются из базы данных, чтобы пользователи не могли выбирать эти параметры. Но теперь в одном из оставшихся вариантов появляются 3 варианта радиокамера. Мне нужно удалить один из этих вариантов. Опция, которую мне нужно удалить, называется value="_BML7(B)" в соответствии с Chrome.Скрыть одну опцию переключателя на странице ASP Classic

Последний раз, когда я ввел следующий код в следующий код в файл include.asp, который отлично поработал, но это должно было скрыть варианты выпадающего списка. Для этого мне нужно скрыть одну опцию переключателя из текущих вариантов выпадающего списка.

Sub buildDropDownList(strCurrentSelection, objListData, strCodeName, strDescriptionName, blnIncludeOther) 
    If Not objListData.BOF Then 
     objListData.MoveFirst 
    End If 
    Dim currentCodeValue 
While Not objListData.EOF 
    currentCodeValue = objListData(strCodeName) 
    If (UCase(currentCodeValue)<>"_04GIDBM") And _ 
     (UCase(currentCodeValue)<>"_05GIDFM") And _ 
     (UCase(currentCodeValue)<>"_03MIS(Q") And _ 
     (UCase(currentCodeValue)<>"_06GIDMS") And _ 
     (UCase(currentCodeValue)<>"_08EXHRM") And _ 
     (UCase(currentCodeValue)<>"_10EXMKT") And _ 
     (UCase(currentCodeValue)<>"_12EXTTH") And _ 
     (UCase(currentCodeValue)<>"_15AFT") And _ 
     (UCase(currentCodeValue)<>"_16HSC") And _ 
     (UCase(currentCodeValue)<>"_18LTD") And _ 
     (UCase(currentCodeValue)<>"_19EBM") And _  
     (UCase(currentCodeValue)<>"_17EXHSC") Then 
     Response.Write "<option value='" & currentCodeValue & "' " 
     If StrComp(strCurrentSelection, currentCodeValue, 1) = 0 then 
      Response.Write "selected" 
     End If 
     Response.Write ">" & objListData(strDescriptionName) & "</option>" & VbCrLf 
    End If 

Я мог бы действительно помочь вам в этом и поблагодарить всех за помощь! Я не очень хорошо разбираюсь в классическом ASP, но я стараюсь.

Код, который я вставил последний раз в include.asp.

<p align="center"> 
      <% 
       do until rsProgramLevel.EOF 
        Response.Write "<input type=""radio"" name=""programcode"" onclick=""onProgramCode()"" " 
        Response.Write "value=""" & rsProgramLevel("ProgramCode") & """ " 
        if rsProgramLevel("ProgramCode") = strProgramCode then 
         Response.Write "checked" 
        end if 
        Response.Write ">" 
        Response.Write "&nbsp;" 
        Response.Write rsProgramLevel("LevelDescription") & " (&pound;" & FormatNumber(rsProgramLevel("ChargeValue"), 2) & ")&nbsp;&nbsp;&nbsp;" 
        Response.Write "&nbsp;&nbsp;&nbsp;&nbsp;" 

        rsProgramLevel.MoveNext 
       loop 
      %> 
      </p> 
+2

Есть ли конкретная причина, вы не можете исключить нежелательные коды на уровне базы данных? То есть прежде чем они когда-либо попадут на вашу страницу ASP? – Martha

+0

Верьте или нет. У меня нет доступа к базе данных, поэтому я вынужден сделать это таким образом. – user2219472

+0

Этот код отправляет раскрывающиеся списки. Это не относится к тому, что вы просите. Пожалуйста, поделитесь фактическим кодом, который у вас есть, который генерирует переключатели, которые вы упомянули, и мы можем попытаться помочь вам его изменить. –

ответ

1

Чтобы сделать это просто, просто перенесите код, посылающий HTML с основным утверждением If..Then:

Dim currentCode 

do until rsProgramLevel.EOF 
    currentCode = rsProgramLevel("ProgramCode") 
    If UCase(currentCode)<>"_BML7(B)" Then 
      Response.Write "<input type=""radio"" name=""programcode"" onclick=""onProgramCode()"" " 
      Response.Write "value=""" & currentCode & """ " 
      if rsProgramLevel("ProgramCode") = strProgramCode then 
       Response.Write "checked" 
      end if 
      Response.Write ">" 
      Response.Write "&nbsp;" 
      Response.Write rsProgramLevel("LevelDescription") & " (&pound;" & FormatNumber(rsProgramLevel("ChargeValue"), 2) & ")&nbsp;&nbsp;&nbsp;" 
      Response.Write "&nbsp;&nbsp;&nbsp;&nbsp;" 
    End If 
    rsProgramLevel.MoveNext 
loop 
+0

Спасибо. Похоже, что это почти получилось, но затем получил следующее по ошибке во время выполнения pageMicrosoft VBScript «800a01f4» переменной не определено: «currentCode» /c_studentreg3_new.asp, линия 578 – user2219472

+0

@ user2219472 см редактирования, вы должны объявить его. –

+0

Вы волшебный волшебник тени! Большое вам спасибо за решение проблемы. Ты слишком классный, и я в твоем долге! спасибо – user2219472

2

Вы можете составить список в строку, как так ...

Const ignoreCodes = " _04GIDBM _05GIDFM _03MIS(Q _06GIDMS _08EXHRM _10EXMKT _12EXTTH _15AFT _16HSC _18LTD _19EBM _17EXHSC " 

Добавьте его в самом начале файла (после любых Option Explicit команд). Если у вас есть новые коды, чтобы добавить к нему, просто убедитесь, что есть пространство с обеих сторон.

Тогда просто проверить против него ...

If Instr(ignoreCodes, UCase(currentCodeValue)) = 0 Then 
    Response.Write("<option value='" & currentCodeValue & "' ") 
    If StrComp(strCurrentSelection, " " & currentCodeValue & " ", 1) = 0 then 
     Response.Write " selected " 
    End If 
    Response.Write(">" & objListData(strDescriptionName) & "</option>") 
End If 

Если вы думаете об этом дальше, то просто включить список в резервируемых таблицах кодов в базе данных.

+0

Любой шанс, пожалуйста, вы могли бы объяснить, как я могу применить ваше предложение. Я должен вставить его в файл include.asp ?. – user2219472

+0

@ user2219472 Это волнует ... вы даже знаете VBScript? Пол предоставляет вам более простой метод для списка исключений, вам просто нужно заменить текущий оператор 'If' этим. – Lankymart

+0

Я стараюсь изо всех сил. Но спасибо. на данный момент Im не уверен в размещении первой части скрипта. Буду признателен за ваше терпение. Сценарий VB - это не мое дело.Спасибо вам, ребята – user2219472

 Смежные вопросы

  • Нет связанных вопросов^_^