我已将一个onlick事件附加到函数中。我想引用从函数内部被点击的元素,所以我可以改变它的内部HTML,但为什么它不工作?有没有其他的方式来引用点击元素?
HTML
<div class="save_button" onclick="toggle_save_star(<?php echo $listing->listing_id ?>,'<?php echo base_url()?>')">
<?php if($listing->saved_element_id):?>
<img src="<?php echo site_url('images/core/icons/basic2/star1_16.png')?>" />
<?php else:?>
<img src="<?php echo site_url('images/core/icons/basic2/star1_16_gray.png')?>" />
<?php endif; ?>
</div>
JavaScript函数
function toggle_save_star(element_id, site_url) {
var url = site_url+"AJAX/ajax_default/modify_saved";
var button = $(this);
$.post(url,{action: 'toggle', element_id: element_id, type: 'listing' }, function(data) {
if(data == 'saved') {
$(button).html('<img src="'+site_url+'images/core/icons/basic2/star1_16.png" />');
}
else{
$(button).html('<img src="'+site_url+'images/core/icons/basic2/star1_16_gray.png" />');
}
});
}
这是一个有用的建议,可以解决问题。 – Christian
也许我错了,但不会强迫我将代码移到所有相关的html页面中?如果不是的话,如果这样写的话,我会如何通过这两个论点? – emkay
我更新了我的答案以更好地解释。 – Christian