首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复jquery脚本

问重复jquery脚本
EN

Stack Overflow用户
提问于 2018-02-05 23:52:37
回答 3查看 69关注 0票数 0
代码语言:javascript
复制
$("#like_answer_button").removeAttr("disabled");
$('#like_answer_button').click(function(e)
    {
        var id = $(this).closest('.box').data('id');
        var url = "https://www.sdkwf.de/jquery/good_answer.php?answer_user=" + id;          
        var val = parseInt($("#like_answer_button").val(), 10);
        $.post(url,{op:"<?php echo $ask; ?>"},function(data)
        {
            $("#status").html("");
            val = val+1;
            $("#like_answer_button").val(val);
            $("#like_answer_button").attr("disabled", "disabled");
            $("#like_answer_button").css("background-image","url(https://www.sdkwf.de/img/icon.png)");
        })
    });

如果在PHP (while)中使用此代码对许多不同的按钮重复此脚本,您知道如何让此脚本工作吗?

代码语言:javascript
复制
<div class="box" data-id="'.$id.'">
<input type="submit" class="like" name="like_answer_button" value="10" id="like_answer_button" />

它只适用于第一个按钮/输入,但其他按钮/输入不起作用。我猜是因为like_answer_button是为第一个预留的吧?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-06 00:17:20

您已经在为closest('.box')调用使用$(this)。这是对单击的like_answer_button的引用。在var中捕获它,并在post回调中使用它:

代码语言:javascript
复制
$("input[type='submit'].like").click(function(e)
    {
        var button = $(this);
        var id = button.closest('.box').data('id');
        var url = "https://www.sdkwf.de/jquery/good_answer.php?answer_user=" + id;          
        var val = parseInt(button.val(), 10);

        $.post(url, { op: "<?php echo $ask; ?>" }, function(data)
        {
            $("#status").html("");
            val = val + 1;
            button.val(val);
            button.attr("disabled", "disabled");
            button.css("background-image","url(https://www.sdkwf.de/img/icon.png)");
        })
    });
票数 -1
EN

Stack Overflow用户

发布于 2018-02-06 00:09:52

HTML -不要对输入重复相同的id。如果需要,请确保名称和if是唯一的。

代码语言:javascript
复制
<div class="box" data-id="'.$id.'">
<input type="submit" class="like" value="10" />

<div class="box" data-id="'.$id.'">
<input type="submit" class="like" value="11" />

<div class="box" data-id="'.$id.'">
<input type="submit" class="like" value="12" />

JS -在javascript中使用类选择器而不是特定的元素id

代码语言:javascript
复制
$('.like').click(function(e)
{
    var id = $(this).closest('.box').data('id');
    var url = "https://www.sdkwf.de/jquery/good_answer.php?answer_user=" + id;          
    var val = parseInt($(this).val(), 10);
    $.post(url,{op:"<?php echo $ask; ?>"},function(data)
    {
        $("#status").html("");
        val = val+1;
        $(this).val(val);
        $(this).attr("disabled", "disabled");
        $(this).css("background-image","url(https://www.sdkwf.de/img/icon.png)");
    })
});
票数 -1
EN

Stack Overflow用户

发布于 2018-02-06 00:27:24

​

代码语言:javascript
复制
        // click handler
        jQuery('.like').on('click', function(e){
          // get the value of the input   
          var val = jQuery(e.currentTarget).val();
    
          // find the element that contains the data-id and do something to it
          jQuery('[data-id="'+ val +'"]').hide();
    
        });
代码语言:javascript
复制
<?php $iterator = 0; ?>
    
    <?php foreach($array as $key=>$value): ?>
    
          <div class="box" data-id="<?php echo 'target-'.$iterator; ?>">
          <input type="submit" class="like" value="<?php echo 'target-'.$iterator; ?>" />
      <?php $iterator++; ?>
    
    <?php endforeach; ?>

​

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48626391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档