jQuery + ASP.NET: нажмите = значение в скрытом поле, слишком быстрый щелчок - PullRequest
2 голосов
/ 02 декабря 2011

Я связываю событие клика с гиперссылкой.При щелчке значение (внутренний текст) гиперссылки сохраняется в скрытом поле.С этим значением я работаю после перезагрузки страницы (ASP.NET).Это работает, но проблема в следующем:

Если я нажму на ссылку1, все в порядке.Если я нажимаю на ссылку 2, все в порядке.

Если я нажимаю на ссылку 1, а затем (очень быстро) на ссылку 2, скрытое поле имеет старое значение (ссылки 1).

Кто-нибудьесть идея, чтобы решить эту проблему?

$(function () {
var innertxt = "";
$("span[id$='myLink']").bind("click", function () {
     innertxt = ($(this).text());
    if (innertxt == "myLinkText1" || innertxt == "myLinkText2") {
        $("input[id$='myHiddenField']").val(innertxt);
    } else { $("input[id$='myHiddenField']").val(""); }
  });
});

(код в сочетании с перезагрузкой страницы ASP.NET, что означает, что после нажатия на ссылку $ ("span [id $ = 'myLink']"), страницаперезагрузки.)

// edit

У меня уже было событие onclick (inline).По-видимому, привязка начиналась после того, как было запущено событие onclick, поэтому было слишком поздно.

Я поместил код в встроенное событие onclick, и оно работает.

Спасибо за ваши предложения!

// конец редактирования

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

У меня уже было событие onclick (inline).По-видимому, привязка начиналась после того, как было запущено событие onclick, и поэтому было слишком поздно.

Я поместил код в встроенное событие onclick, и оно работает.

<span id="myLink" onclick="myCodeHere" />

Спасибоза ваши предложения!

0 голосов
/ 02 декабря 2011

Вместо HyperLink можно использовать элемент управления LinkButton и установить свойство CommandArgument, чтобы указать, какие файлы должны отображаться.

...