【问题标题】:jQuery changing ID via attr and then calling itjQuery 通过 attr 更改 ID 然后调用它
【发布时间】:2013-06-21 06:21:12
【问题描述】:

我正在用 PHP 为我的 URL 缩短器网站创建一个 UserCP,但是我已经停止了,因为我现在遇到了一个我无法解决的小问题。

我想让用户使用 Javascript 的库 Jquery 轻松更新 URL。到目前为止,如果您单击“编辑”按钮(见下文),文本会变成文本字段,因此可以编辑!这是伟大的。在将其变为文本字段的过程中,我使用了 attr() 函数来更改将文本变为文本字段的按钮的类名和 ID。使用我分配的新 ID 会将 $.POST 发送到 PHP 脚本。希望大家理解,下面我将代码展示给大家看看!

<?php while($list = $listURLs->fetch_array()) { ?>

<td id="longURL<?= $list['ID']; ?>"><a rel="tooltip" title="<?= $list['longURL']; ?>" target="_blank" href="<?= $list['longURL']; ?>"><?= substr($list['longURL'],0,25); ?></a></td>
        <td id="shortURL<?= $list['ID']; ?>"><input type='text' class='span2' onmouseover="(this.select())" value='http://smurl.es/<?= $list['shortURL']; ?>'/></td>
        <td><?= $list['type']; ?></td>
        <td><?= $time; ?></td>
        <td><?= $list['hits']; ?></td>
        <td><button id="edit<?= $list['ID']; ?>" class='btn btn-warning btn-small' rel='tooltip' title='Edit'><i class="icon icon-edit"></i></button>&nbsp;<button id="del<?= $list['ID']; ?>" class='btn btn-danger btn-small' rel='tooltip' title='Delete'><i class="icon icon-trash"></i></button></td>
    </tr>
        <script type="text/javascript">
            $("button#edit<?= $list['ID']; ?>").click(function() {
            $('#longURL<?= $list['ID']; ?>').html("<input type='text' value='<?= $list['longURL']; ?>' />");
            $('#shortURL<?= $list['ID']; ?>').html("<div class='input-prepend'><span class='add-on'>http://smurl.es/</span><input id='prependedInput' type='text' value='<?= $list['shortURL']; ?>' class='span1' /></div>");
            $("button#edit<?= $list['ID']; ?>").attr({"class": "btn btn-info btn-small test", "data-original-title": "Click to Save", "id": "save<?= $list['ID']; ?>"});

            });


            $('button#save<?= $list['ID']; ?>').click(function() {
                             alert("testing - DEBUG"); // Save code here
            });
        </script>
    <?php 
        }
    }
     ?>

所以,如果您仍然有点困惑,我想知道如何调用我通过 attr 或其他函数创建的 ID?

我检查了我的控制台,没有发现任何错误。

【问题讨论】:

    标签: javascript jquery attr


    【解决方案1】:

    你必须用event.preventDefault来阻止默认的onclick行为:

    $("button#edit<?= $list['ID']; ?>").click(function(e) {
        e.preventDefault();
    
        $('#longURL<?= $list['ID']; ?>').html("<input type='text' value='<?= $list['longURL']; ?>' />");
        $('#shortURL<?= $list['ID']; ?>').html("<div class='input-prepend'><span class='add-on'>http://smurl.es/</span><input id='prependedInput' type='text' value='<?= $list['shortURL']; ?>' class='span1' /></div>");
        $("button#edit<?= $list['ID']; ?>").attr({"class": "btn btn-info btn-small test", "data-original-title": "Click to Save", "id": "save<?= $list['ID']; ?>"});
    });
    

    【讨论】:

    • 您好,我不太明白我要如何处理该代码?我将使用什么来调用不同的按钮,我的意思是它有什么帮助?我试过了,但没有用。
    • 对不起,谁能回答我的问题?我真的需要知道! :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    相关资源
    最近更新 更多