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);
}
Ответы
Ответ 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);
}