2015-03-24 1 views
0

Я пытаюсь найти способ иметь document.getElementById ("1"). InnerHTML для запуска на основе условия, исходящего из кода jsp.

Например, у меня есть следующий код JSP на странице JSP,вызов innerHTML на основе условия из jsp кода весной mvc

<table border="1"> 
<c:forEach items="${elements}" var="element"> 
    <tr> 
     <td>${element.elementNumber}<br /> ${element.isReserved} 
     </td> 
    </tr> 
</c:forEach> 
</table> 

на основе «element.isReserved», мне нужно изменить элемент (предположительно с помощью .innerHTML) в HTML. Элемент в html выглядит следующим образом. У меня есть несколько из этих элементов.

  <div class="col-xs-2"> 
       <div class="o-btn"> 
        <a id="1" onClick="myFunction(this);">1</a> 
       </div> 
       <div class="clearfix"></div> 
      </div> 

Как показано выше, оно отображается как кнопка со значением «1». Я хочу изменить значение на «X» на основе условия. Я могу сделать это непосредственно с JS,

<script> 
     function myFunction(elmnt) {} 
     function isReserved() { 
      return 'X'; 
     } 
     document.getElementById("1").innerHTML = isReserved(); 
</script> 

Но мне нужно, чтобы сделать его зависимым от выхода из источника или коды Jsp показанной выше. Мой желаемый результат состоит в том, что символ «1», отображаемый на кнопке, изменится на «X», когда element.isReserved() (внутри кода jsp) оценивается как true. Поскольку у меня есть несколько элементов кнопки, мне нужно проверить каждую кнопку, если element.isReserved() оценивается как true.

+0

Что вы подразумеваете под "На основе element.isReserved, мне нужно изменить элемент в html."? каков ваш желаемый результат? – Sas

ответ

1

Я был в состоянии заставить его работать. Я нашел это article очень полезно.

Понимая (и принимая реальность), как JSP работает с html, мне пришлось немного реструктурировать свою программу.

С Spring MVC, я добавил свои переменные модели,

model.addAttribute("element1", 1); 

На странице JSP я проверил переменные с JavaScript,

if("${element1}" == 1) { 
    document.getElementById("1").innerHTML = 'X'; 
    document.getElementById("1").style.color = 'red'; 
} 

Вероятно, есть более эффективные решения, но для новичок, как я, он отлично работает!

article Я упоминал выше, действительно хорошо, и важный для новых посетителей.