0

我有一个 html 文档,其中包含:

        <li id="li_273" data-pricefield="special" data-pricevalue="0" >
        <label class="description" for="element_273">Helium Foil Balloon #1 </label>
            <div>
                <input type="text" class="element text medium" id="element_273" name="element_273" size="30" value="" />
                <input type="hidden" id="element_273_price" name="element_273_price" value="">

            </div> 
       </li>

那么,该区域是一个 ajax 下拉菜单。从那个 ajax/php 下拉列表中,我可以执行一个 onclick 命令——这就是我所拥有的:

'onclick' => 'document.getElementById(\'li_273\').data(\'pricevalue\',\'1.00\');',  

这一切都得到了 json_encoded,这是它返回的部分:

"onclick":"document.getElementById('li_273').data('pricevalue','1.00');",

但是,当我从 ajax 菜单中选择某些内容并单击时,我会收到一条错误消息:

Uncaught TypeError: Object #<HTMLLIElement> has no method 'data' 

我一生都无法弄清楚这一点,我需要做的只是更新页面上的价格。

更新:这是尝试让它实际计算页面上的 JavaScript 的其余代码:

        $('#main_body li[data-pricefield="special"]').delegate('onclick','change', function(e) {
        var temp = $(this).attr("id").split('_');
        var element_id = temp[1];

        var pricedef = $(this).data('pricedef');
        if(pricedef == null){
            pricedef = 0;
        }

        $("#li_" + element_id).data("pricevalue",pricedef);
        calculate_total_payment();
           });

似乎缺少什么?因为它不会更新页面上的总数。

4

1 回答 1

3

.data是一个 jquery 函数,您可能正试图在 dom 对象上调用它。确保您在页面上加载了 jQuery,然后执行以下操作:

jQuery('#li_273').data('pricevalue','1.00');
于 2012-12-21T21:21:41.157 回答