我有一个简单的复选框,可以通过查询数据库来选中或关闭。用户可以更改此值,我通过发送请求ajax
。该 url 很古怪,因为它是一个 Joomla 组件(对于这个问题并不重要,但以防万一)。
$(function() {
$("#iButton").iButton();
$('#iButton').change(function() {
var checkedLength = $(this + ':checked').length;
if(1 == checkedLength){
$.ajax({
url: 'index.php?option=com_mycomponent&task=globaldetection&id_hash=<?php echo $id_hash; ?>&global_monitoring='+checkedLength+'&format=raw'
});
} else {
$.ajax({
url: 'index.php?option=com_mycomponent&task=globaldetection&id_hash=<?php echo $id_hash; ?>&global_monitoring='+checkedLength+'&format=raw'
});
}
});
});
<?php
//highlight whether the checkbox is on or off
if ($userstatus == "ENABLED") //get this value from server
{
//turned on
$global_monitoring = "checked=\"checked\"";
}
else
{
$global_monitoring = "";
}
?>
<div class="dropshadow">
<p id="iButtontext">
<input type="checkbox" id="iButton" <?php echo $global_monitoring; ?> name="iButton_checkbox" />
</p>
</div>
这工作正常,正如我所料,但我在这里有几个问题:
ajax
我根据条件复制该功能两次。有没有更好的方法来做到这一点或完全可以接受?- 我只传入 url 而没有其他设置。我一直使用该
success
设置,但在这种情况下,我不需要做其他响应。我知道这是可选的,但那时我应该做其他事情吗? - 我应该传递给ajax的任何其他设置?它似乎太……简单。
任何指导表示赞赏。谢谢。