我正在开展一个小项目,之前从未使用过Jquery。我想知道在采取更多措施之前我是否采取了正确的方式。
这基本上就是我的用户界面:
<ul id="Navigation">
<li id="HomeButton">Home</li>
<li id="NewsButton">News</li>
<li id="AboutUsButton">AboutUsButton</li>
</ul>
<div id="Content"></div>
<script type="text/javascript">
$("#HomeButton").on("click", function(){
$("#Content").load("pages/home.php");
});
$("#NewsButton").on("click", function(){
$("#Content").load("pages/news.php");
});
$("#AboutUsButton").on("click", function(){
$("#Content").load("pages/asbout_us.php");
});
</script>
这是构建动态jquery UI的正确方法吗?
这基本上就是我如何处理数据库相关的东西:
操作的文件名:
clear_inventory.php
此代码将数据库表中的库存槽设置为0,并回显结果。
与行动相关的用户界面:
<button id="ClearInventoryButton">Clear Inventory</button>
<div id="ClearInventoryResult"></div>
<script type="text/javascript">
$("#ClearInventoryButton").one("click", function(){
$("#ClearInventoryResult").load("actions/clear_inventory.php");
});
这是正确/安全的方式吗?
提前感谢您的回答。
很抱歉,如果之前有人问过这个问题。
答案 0 :(得分:1)
对于您的第一个问题,您应该努力不要多余并使用class
之类的常规选择器,然后使用this
缩小选择范围:
<ul id="Navigation">
<li class="nav_btn" data-link="pages/home.php">Home</li>
<li class="nav_btn" data-link="pages/news.php">News</li>
<li class="nav_btn" data-link="pages/asbout_us.php">AboutUsButton</li>
</ul>
<script type="text/javascript">
$("#Navigation").on("click",".nav_btn", function(){
window.location = $(this).data("link");
});
</script>
关于你的第二个问题,你听起来像是在谈论AJAX,这一点尚不清楚,所以我不能对此发表评论。
编辑:关于AJAX:
您需要使用$.get
,$.post
,$.ajax
函数进行ajax调用,如:
$("#ClearInventoryButton").click(function() {
$.ajax({
url: 'actions/clear_inventory.php',
type: 'post',
data: { reset: true }
success: function(response) {
$("#ClearInventoryResult").html(response);
}
});
});
答案 1 :(得分:0)
这取决于页面实际拥有的内容。首先看一下the jQuery docs for Load() - 它有完整的处理程序,我建议你使用它。在你的代码工作的那一刻,禁止使用“one”而不是“on”的最后一个片段。
我会利用完成&amp;错误处理程序,因此如果服务器端存在问题,并且您收到错误代码,则可以处理此问题。您还可以使用Load()加载页面的片段 - 假设您在家中有两个div,一个叫我的帐户,另一个叫做概述,如果有人点击了一个新的菜单项'overview',你可以加载主页并告诉Load ()仅采用概述div。