0

我正在尝试迭代 ajax 查询,但是每当我尝试运行代码时,总是默认为1我对 js 不是很熟悉,想知道是否有人知道如何做到这一点,或者是否有更好的方法完全做到。提前致谢!

$.each(Array(10), function(i) {
            var clickedButton = $('#' + (++i));
            $(clickedButton).click(function (){
                $.ajax({
                    type: 'POST',
                    url: 'example.php',
                    data: {lightid: i},
                    success:function(result){}
                });
            });
          });
4

1 回答 1

0

data您可以通过为每个“按钮”使用具有必要数据的属性来实现所需的结果。这可以通过以下方式提取this.dataset.<attribute-name>并发送到服务器:

$('[data-id]').on('click',function(){
 $.post('https://jsonplaceholder.typicode.com/posts',{lightid:this.dataset.id})
  .done(r=>console.log(r))
})
div[data-id] {cursor:pointer}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>Click on any div below:</div>
<div data-id="1">one</div>
<div data-id="2">two</div>
<div data-id="3">three</div>
<div data-id="4">four</div>
<div data-id="5">five</div>
<div data-id="6">six</div>
<div data-id="7">seven</div>
<div data-id="8">oneeight</div>
<div data-id="9">nine</div>
<div data-id="10">ten</div>

我使用该属性data-id来保存数字信息,因为 html 属性id应始终具有以字母字符开头的值。

于 2020-01-08T14:22:18.910 回答