1

我很难让这个工作。我想要做的是从 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的表单。)

谢谢,乔

4

3 回答 3

0

您在单击按钮时绑定 onClick 侦听器。

如果您必须使用 onClick 元素属性,那么尽管您应该熟悉Unobtrusive JavaScript的原理,但下面的代码将起作用。

$(document).ready(function(){
    var buildTicket = function(eventname,ticketprice,venueid,userid) {
        $("#ticketwindow").append("<div class='ticket'>" + eventname + " - " + eventprice + "</div>");
    });
});
于 2013-10-16T16:24:31.077 回答
0

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

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

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

第三,eventprice变量在buildTicket().

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

于 2013-10-16T16:27:42.883 回答
0

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

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

于 2013-10-16T16:34:48.263 回答