Динамический клиентский скрипт - PullRequest
0 голосов
/ 23 сентября 2008

Мне нужно написать сценарий Java. Это должно подтвердить, если флажок установлен на странице или нет. Проблема здесь в том, что флажок находится внутри сетки и генерируется динамически. Причина в том, что номер флажка, который необходимо отобразить, не известен во время разработки. Таким образом, идентификатор известен только на стороне сервера.

Ответы [ 4 ]

1 голос
/ 23 сентября 2008

Вы должны также сгенерировать свой javascript или, по крайней мере, структуру данных (массив) javascript, которая должна содержать флажки, которыми вы должны управлять.

В качестве альтернативы вы можете создать содержащий элемент и циклически с js на каждом дочернем элементе ввода флажка типа.

1 голос
/ 23 сентября 2008

Вот мысль:

Как указывает Anonymous, вы можете создать javascript, если вы находитесь в ASP.NET, у вас есть некоторая помощь с методом RegisterClientScriptBlock (). MSDN при внедрении скрипта на стороне клиента

Также вы можете написать или сгенерировать функцию javascript, которая принимает флажок в качестве параметра и добавляет атрибут onClick к определению вашего флажка, который вызывает вашу функцию и передает себя в качестве параметра

function TrackMyCheckbox(ck)
{
     //keep track of state
}

<input type="checkbox" onClick="TrackMyCheckbox(this);".... />
0 голосов
/ 23 сентября 2008

В этом вопросе не так много деталей. Но при условии, что HTML-сетка генерируется на стороне сервера (не в javascript).

Затем добавьте классы к флажкам, которые вы хотите проверить. И переберите DOM, ища все флажки с этим классом. В JQuery :

HTML:

<html>
...

<div id="grid">
   <input type="checkbox"  id="checkbox1" class="must-be-checked" />
   <input type="checkbox"  id="checkbox2" class="not-validated" />
   <input type="checkbox"  id="checkbox3" class="must-be-checked" />
   ...      
   <input type="checkbox"  id="checkboxN" class="must-be-checked" />
</div>

...
</html>

Javascript:

<script type="text/javascript">

  // This will show an alert if any checkboxes with the class 'must-be-checked'
  // are not checked.
  // Checkboxes with any other class (or no class) are ignored
  if ($('#grid .must-be-checked:not(:checked)').length > 0) {
    alert('some checkboxes not checked!');
  }

</script>
0 голосов
/ 23 сентября 2008

Если это ваш единственный флажок, вы можете выполнить вызов getElementsByTagName (), чтобы получить все входные данные, а затем перебрать возвращаемый массив в поисках подходящего значения типа (т. Е. Флажок).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...