我有两个单选按钮
<div align="center" class="radio_group">
<input type="radio" id="gallerymenustyle1" class="element radio" name="gallerymenustyle[]" value="1" /> Gallery Link - In the navigation of my website, display one "gallery" link<br />
<input type="radio" id="gallerymenustyle2" class="element radio" name="gallerymenustyle[]" value="2" /> Category Links - In the navigation of my website, display a separate link to each category.
</div>
当我单击其中一个单选按钮而不点击提交按钮时,如何更新一行中的一个字段?
这是我到目前为止所拥有的
$(function(){
$(':radio').click(function(){
if($(this).is(':checked'))
{
var galleryMenuStyleVal = $(this).val();
$.ajax({
type: 'POST',
url: '<?php echo BASE_URL; ?>ajax/ajax_methods_gallery.php',
data: 'showGalleryMenuStyleFromEditPage=' + galleryMenuStyleVal
});
}
});
});
if($_POST['showGalleryMenuStyleFromEditPage'] !== null || $_POST['shoGalleryMenuStyleFromEditPage'] !== 0){
$userObj = new User();
if($_POST['showGalleryMenuStyleFromEditPage'] == 1){
$query = "UPDATE users SET gallery_menu_style = 1";
$userObj->updateUserGalleryMenuStyle($query);
} else if ($_POST['showGalleryMenuStyleFromEditPage'] == 2){
$query = "UPDATE users SET gallery_menu_style = 2";
$userObj->updateUserGalleryMenuStyle($query);
}
}
我的 jquery 是否正确,包括 PHP 的某些部分? ..因为它不起作用
最佳答案
在这一行:
if($_POST['showGalleryMenuStyleFromEditPage'] !== null || $_POST['shoGalleryMenuStyleFromEditPage'] !== 0){
您在第二个 $_POST 值上使用了“shoGalleryMenuStyleFromEditPage”而不是“showGalleryMenuStyleFromEditPage”。因此,它不允许任何内容通过初始 if 语句。
您还使用了 !== 0
而不是 != 0
。
这就是为什么使用短键/名称并不是一个坏主意......
如果仍然无法正常工作,请使用 Firebug 来确定您的 jQuery 是否确实发送了任何内容。
关于php单选按钮自动更新数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888289/