将值从html传递到phonegap中的javascript

时间:2013-10-11 04:58:11

标签: android cordova kendo-ui kendo-mobile

我正在尝试使用kendo-ui mobile和phonegap开发购物车系统。首先,我列出了列表视图中的所有项目。在每个listview项目中,将有一个加号按钮,减号按钮和一个标签。我正在使用此组合来选择项目数量。因此,如果我们点击加号按钮,标签值应为0 + 1 => 1,当我们点击减号时,它应该像1-1 => 0。当点击按钮时更改标签的值,我传递标签的id来更改相应的标签值。但是我无法将id形式的html传递给javascript,就像我在web开发中那样。这是我的代码,

我的列表视图项目模板,

<script type="text/x-kendo-tmpl" id="endless-scrolling-template">



<div class="product">

    <img src="images/image.jpg" alt="#=ProductName# image" class="pullImage"/>
    <h3>#:ProductName#</h3>
    <p>$#:kendo.toString(UnitPrice, "c")#</p>
    <a id="minus" data-role="button" data-click="minus(#:ProductID#)" >-</a>
    <label id=#:ProductID#>0</label>
    <a id="plus" data-role="button" data-click="plus(#:ProductID#)" data-name="plus">+</a>
    <a id="loginButton" data-role="button" data-click="login">Add to Cart</a>
    <div class="console"></div>

</div>

和我的javascript函数,

 <script>

 function plus(itemid) {
       var quantity=document.getElementById(itemid).innerHTML;
       document.getElementById(itemid).textContent = parseInt(quantity)+1;
    } 

     function minus(itemid) {
      var quantity=document.getElementById(itemid).innerHTML;
      document.getElementById(itemid).textContent = parseInt(quantity)-1;
    } 

</script>

任何人都可以告诉我在这里做错了什么吗?或者您可以提供替代解决方案吗?

1 个答案:

答案 0 :(得分:0)

使用Kendo时,您可以使用Kendo MVVM。当使用Kendo MVVM在视图中连接JS对象时,当输入元素的值发生更改时,JS对象的值会自动反映更改。所以你需要做的是为你的视图创建一个JS模型,并使用data-model =“yourModel”将它设置为你的视图模型。请看这个链接:http://docs.kendoui.com/getting-started/mobile/mvvm

在您的方案中,我认为此链接可以帮助您:http://demos.kendoui.com/web/mvvm/source.html

我写的Kendo移动手册中解释了这种行为,您可以在此处看到为本书构建的示例应用程序的结帐屏幕:http://movies.kendomobilebook.com/