onclick事件传递<li> id或value

Sas*_*u H 21 jquery events onclick html-lists

我想传递<li> id or valueonclick事件.这是我现有的代码.

<li onclick="getPaging(this.value)" id="1" value="1">1</li>
<li onclick="getPaging(this.value)" id="2" value="2">2</li>
Run Code Online (Sandbox Code Playgroud)

这是javascript代码

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

Ani*_*ish 23

试试这样......

<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>
Run Code Online (Sandbox Code Playgroud)

或不显眼的

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

使用只是

<li id="1">1</li>
<li id="2">2</li>
Run Code Online (Sandbox Code Playgroud)


Dav*_*ang 11

<li>s没有value- 只有表格输入吗.实际上,您甚至不应该value在HTML的<li>s中包含该属性.

你可以依赖.innerHTML:

getPaging(this.innerHTML)
Run Code Online (Sandbox Code Playgroud)

或者也许是id:

getPaging(this.id);
Run Code Online (Sandbox Code Playgroud)

但是,从JavaScript代码添加单击处理程序更容易(更好的做法),而不是将它们包含在HTML中.看到你已经在使用jQuery,可以通过将HTML更改为:

<li class="clickMe">1</li>
<li class="clickMe">2</li>
Run Code Online (Sandbox Code Playgroud)

并使用以下JavaScript:

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

这将为您<li class="clickMe">的所有s 添加相同的单击处理程序,而无需您onclick="getPaging(this.value)"为每个单独复制代码.