Существует несколько различного 'молозива':
<%@
- директива <%$
страницы - доступ ресурса <%=
- явный вывод к странице <%#
- привязке данных <%--
- серверный блок комментария , Также новый в ASP.Net 4:
<%:
- выписывает к странице, но с HTML закодировал Также новый в ASP.Net 4.5:
<%#:
- HTML закодировал привязку данных Значение i
изменяется с каждой итерацией цикла. Вам нужно замыкание для захвата значения i
:
(function(i) {
my_element.onclick = function () {my_function (i)};
}(i))
Если вы пишете функцию, которая строит вам функцию-обработчик, вы можете использовать новую область видимости, которая дает вам уверенность в том, что вы получите желаемое число. Например:
function BuildHandler (i) { return function () { alert(i); };
for (i= 1; i < 100; i++) {
var my_element = document.createElement ("td");
row.appendChild (my_element);
my_element.onclick = BuildHandler(i);
}
на вашем месте я буду использовать JQuery (или прототип, или любые доступные js-фреймворки)
для каждого элемента, который вам следует добавьте атрибуты, например myid, чтобы, когда вы сделали это, вы могли получить его.
for(i=1; i ++ ; i<100){
var myelement = "<td myid='something"+i+"' class='myTD'></td>" ;
row.append(myelement);
}
....
$(document).ready(function(){
$('.myTD').click(function(){
var id = $(this).attr('myid');
my_function(id);
});
});
Я проделал этот трюк в своем веб-приложении:)