如何使用jquery将动态变量附加到div?

时间:2013-10-16 16:18:44

标签: javascript jquery

我在使用它时遇到一些困难。我想要做的是从onclick中获取动态变量并将它们放入div我将附加到文档中的另一个div。由于每个项目都有从数据库查询关联的变量,我认为从数据库中填充buildTicket()变量会更容易。

我知道我做错了什么。我只是无法弄清楚是什么。

如果你有更好的方法,我会全力以赴。

这是我的javascript:

<script type="text/javascript">
$(document).ready(function(){
$(function() {
buildTicket = function(eventname,ticketprice,venueid,userid) {
    $(".ticketbtn").click(function(){
      $(".ticketwindow").append("<div class='ticket'>" + eventname + " - " +     eventprice + "</div>");
    });
}
});
</script>

这是我的HTML:

<div class="ticketbtn" onclick="buildTicket('Some Show','12.00','1','2');">
        <img src="assets/images/tixicon.png" alt=""> <div class="eventname">Some Show</div>
        <div class="ticketprice">Adult - 12.00    </div>
    </div>

<div id="ticketwindow">

</div>

有人可以帮我解决这个问题吗?

(抱歉代码格式化。仍然试图弄清楚如何正确使用stackoverflow的表单。)

谢谢, 乔

3 个答案:

答案 0 :(得分:0)

单击按钮即可绑定onClick侦听器。

如果必须使用onClick元素属性,则以下代码将有效,尽管您应该熟悉Unobtrusive JavaScript的原则。

$(document).ready(function(){
    var buildTicket = function(eventname,ticketprice,venueid,userid) {
        $("#ticketwindow").append("<div class='ticket'>" + eventname + " - " + eventprice + "</div>");
    });
});

答案 1 :(得分:0)

首先,$(function() {相当于$(document).ready(function() {所以您只需要其中一个。

其次,如果使用jQuery绑定到onclick,则不需要使用click()属性,反之亦然。

如果您只使用onclick属性,那么您可以删除文档就绪处理程序和click()绑定,并简单地定义buildTicket()函数。

第三,eventprice中的buildTicket()变量名称错误。

这是一个工作小提琴,使用jQuery绑定到按钮div的click事件。 http://jsfiddle.net/BdJAL/

答案 2 :(得分:0)

我引用你的问题: “我认为从数据库填充buildTicket()变量会更容易。”

如果你想在你的JavaScript中获取数据库数据,那么如何发出HTTP请求来获取它。显然,您可以使用XMLHttpRequest以正常的XJAX方式执行此操作: http://www.w3schools.com/xml/xml_http.asp 或者你可以调用一些服务器端代码来为你生成JSON并在&lt; script&gt;中引用它。标记例如 &lt; script type =“text / javascript”src =“../ js / jsonFromServerSideCode.jsp”&gt;&lt; / script&gt;