Подтвердить что ты не робот

Onclick event pass <li> id или value

Я хочу передать <li> id or value в onclick событие. вот мой код выхода.

<li onclick="getPaging(this.value)" id="1" value="1">1</li>
<li onclick="getPaging(this.value)" id="2" value="2">2</li>

вот код javascript

function getPaging(str)
{
$("#loading-content").load("dataSearch.php?"+str, hideLoader);
}
4b9b3361

Ответ 1

Попробуйте это...

<script>
function getPaging(str) {
  $("#loading-content").load("dataSearch.php?"+str, hideLoader);
}
</script>

<li onclick="getPaging(this.id)" id="1">1</li>
<li onclick="getPaging(this.id)" id="2">2</li>

или ненавязчиво

$(function() {
  $("li").on("click",function() {
    showLoader();
    $("#loading-content").load("dataSearch.php?"+this.id, hideLoader);
  });
});

используя только

<li id="1">1</li>
<li id="2">2</li>

Ответ 2

<li> не имеют ввода value - только формы. Фактически, вы не должны включать атрибут value в HTML для <li> s.

Вместо .innerHTML вы можете положиться:

getPaging(this.innerHTML)

Или, может быть, id:

getPaging(this.id);

Однако проще (и лучше) добавлять обработчики кликов из кода JavaScript и не включать их в HTML. Увидев, что вы уже используете jQuery, это легко сделать, изменив ваш HTML на:

<li class="clickMe">1</li>
<li class="clickMe">2</li>

И используйте следующий JavaScript:

$(function () {
    $('.clickMe').click(function () {
        var str = $(this).text();
        $('#loading-content').load('dataSearch.php?' + str, hideLoader);
    });
});

Это добавит один и тот же обработчик кликов ко всем вашим <li class="clickMe"> s, без необходимости дублировать ваш код onclick="getPaging(this.value)" для каждого из них.

Ответ 3

Попробуйте следующее:

<li onclick="getPaging(this.id)" id="1">1</li>
<li onclick="getPaging(this.id)" id="2">2</li>


function getPaging(str)
{
    $("#loading-content").load("dataSearch.php?"+str, hideLoader);
}