2015-09-04 2 views
0

Я пытаюсь получить форму на своем экране редактирования, чтобы вытащить то, что находится в выбранной записи, и добавить доступные параметры, которые не включают в себя то, что выбрано. Поэтому, если текущая запись имеет ROC_Group из 3, в раскрывающемся списке выбрано 3, а 4 и 5 - в качестве параметров. Это так близко, как я могу это получить, но в конечном итоге с тем, что в настоящее время находится в записи (3), и 3,4 и 5 в качестве параметров. Таким образом, похоже, что в раскрывающемся списке есть дубликат. Какие-либо предложения? Спасибоcfselect имеет двойные параметры при извлечении записи в форму

<cfselect name="ROC_GROUP" ><cfoutput query="GetSiteNotoUpdate"> 
      <cfif GetSiteNotoUpdate.ROC_GROUP is "#ROC_GROUP#"> 
       <option value="#ROC_GROUP#" selected="yes">#ROC_GROUP#</option> 
       <option>3</option><option>4</option><option>5</option> 
     <cfelse> 
       <option value="#ROC_GROUP#">#ROC_GROUP#</option>  
     </cfif>  
     </cfoutput></cfselect> 

ответ

0

<cfif GetSiteNotoUpdate.ROC_GROUP is "#ROC_GROUP#">

Ваше сравнение с использованием двух переменных, как по имени ROC_GROUP. Если второй относится к другой переменной, чем GetSiteNotoUpdate.ROC_GROUP, вам нужно ее охватить. В противном случае CF не будет знать, какой из них вы имеете в виду, и, скорее всего, интерпретирует это как <cfif someQueryVariable equals itself>, что всегда верно.

Просто введите значение «в настоящее время» в отдельную переменную, например CurrentlySelectedGroup. Затем сравните его с каждым значением в запросе внутри вашего цикла:

<select name="ROC_GROUP"> 
    <cfoutput query="GetSiteNotoUpdate"> 
     <option value="#ROC_GROUP#" 
      <cfif GetSiteNotoUpdate.ROC_GROUP eq CurrentlySelectedGroup>selected="yes"</cfif>> 
      #ROC_GROUP# 
     </option> 
    </cfoutput> 
</select> 

как в сторону, так как вы не используете какой-либо из дополнительных функций, нет необходимости использовать <cfselect>. Просто используйте простой html <select>.

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