我有一个包含以下内容的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菜单和onclick中选择一些内容时,我收到一条错误消息:
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();
});
似乎缺少什么?因为它不会更新页面上的总数。
答案 0 :(得分:3)
.data
是一个jquery函数,你可能试图在dom对象上调用它。确保在页面上加载了jQuery,然后执行:
jQuery('#li_273').data('pricevalue','1.00');