我试过了这段代码,但它警告未定义

<?php
    foreach($result1 as $res1)
    {
            $user_id = 5;
?>
        <form name="wish" method="post" action="javascript:void(0);">
        <input type="submit" class="submit_wish1" id="calButton" data-wid="<?php echo $res1->user_id; ?>" data-uid="<?php echo $user_id; ?>" value="" onclick="favfunction()"/>
        </form>
<?php
    }
?>


<script>
    function favfunction()
    {
        calBtn = $(this).attr('data-wid');
        calBtn1 = $(this).attr('data-uid');
        alert(calBtn);
        alert(calBtn1);

    }
</script>


当我使用

    calBtn = $('#calButton').attr('data-wid');
    calBtn1 = $('#calButton').attr('data-uid');


它警告相同的值。

最佳答案

我建议您将DOM对象本身传递给函数

onclick="favfunction(this);"


然后您可以在JS中执行此操作

<script>
function favfunction(elm)
{
    var calBtn = $(elm).attr('data-wid');
    alert(calBtn);
}
</script>

关于javascript - 是否有可能从foreach循环中获取attr值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28369522/

10-10 06:55