0

我得到了一些我正在使用“jeditable”编辑的 DIV,效果很好!现在我想给我的用户一个提醒,询问他们是否真的想编辑这篇文章。

<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript" src="jquery.jeditable.js"></script>
<script type="text/javascript">

$(document).ready(function jeditable() {

    $("div[title='Article']").click (function() {
        var Edit;
        Edit = confirm("Editing article?");

        if (Edit == true) {         
                $('.edit').editable('x2.php', {
                    cancel : 'Cancel',
                    submit : 'OK',
                    onblur: 'ignore',
                    });          
            } else {
                alert("Canceling edit..");
            }
     });      
});
</script>

1)当警报弹出并且我取消它时,什么也没有发生(有意)。

2)当我在警报中单击“确定”时,也没有任何反应。

3)当我单击“确定”一次时,无论我在警报中再次单击“确定”还是“取消”,我的“如果”中的功能都会起作用。

我只想在用户单击“确定”一次后使我的文本可编辑。(稍后我想让一个图像而不是文本本身可点击,但因为这会引发同样的错误,我尝试先用这种方式解决)

请帮我。提前致谢

问题依然存在!我更改为不让文章本身可点击“确认”,而是一些 img。这样,即使使用另一个元素,它也能完美运行,因此触发确认以使“.edit”可编辑。找到了解决方法,但仍然会对其他方式的解决方案感兴趣:)

4

4 回答 4

1

I looked at the jeditable library , therefore here is what I would do to achieve your requirement

$(document).ready(function()
    $("div[title='Article']").click (function() {
        if (confirm("Editing article?")) {         
                $('.edit').editable('x2.php', {
                    cancel : 'Cancel',
                    submit : 'OK',
                    onblur: 'ignore',
                });         
         }       
    });     
}); 
于 2013-04-19T20:24:50.917 回答
0

if 之后你不需要 "$(document).ready(function"

 $(document).ready(function jeditable() {
    $("div[title='Article']").click (function() {
        var Edit;
        Edit = confirm("Editing article?");

        if (Edit == true) {         
            $('.edit').editable('x2.php', {
                cancel : 'Cancel',
                submit : 'OK',
                onblur: 'ignore',
            }); 
        } else {
            alert("Canceling edit..");
        }
    });
});
于 2013-04-19T20:22:00.697 回答
0
$(document).ready(function jeditable() {

    $("div[title='Article']").click (function() {
        var Edit;
        Edit = confirm("Editing article?");

        if (Edit == true) {         
            $('.edit').editable('x2.php', {
                cancel : 'Cancel',
                submit : 'OK',
                onblur: 'ignore',
                });      
        } else {
            alert("Canceling edit..");
        }        
    });  //<<< this was closing out the function BEFORE the else.
});
于 2013-04-19T20:19:07.177 回答
0

看起来您在 else 子句结束后缺少一个“}”。如果您查看浏览器中的错误控制台,我认为您将收到一个错误指示。

    if (Edit == true) {         
        $(document).ready(function () {
            $('.edit').editable('x2.php', {
                cancel : 'Cancel',
                submit : 'OK',
                onblur: 'ignore',
                });         
            }); 
        } else {
            alert("Canceling edit..");
        }
     } // <-- add this in
 });      
于 2013-04-19T20:19:53.830 回答