Php 通过单选按钮更改提交Jquery表单

Php 通过单选按钮更改提交Jquery表单,php,jquery,forms,radio-button,Php,Jquery,Forms,Radio Button,我的网站有一个新闻管理脚本,允许我添加、更新和删除新闻。我决定使用jQuery使事情变得更加流畅,虽然我已经让添加/编辑/删除部分工作,但我想在默认页面上添加一个简单的功能,用于新闻编辑 当您访问默认的新闻页面时,您会看到一个简单的以前的新闻帖子列表。显示的列包括: 新闻标题、作者、发布日期、活动、编辑 对于“活动”列,我需要一个简单的开关设置为“活动”或“非活动”。一旦该开关被翻转,相应的新闻帖子将在不重新加载整个页面的情况下更新。它只是执行 (UI的旁注:我还想设置该新闻帖子表格的单元格颜色

我的网站有一个新闻管理脚本,允许我添加、更新和删除新闻。我决定使用jQuery使事情变得更加流畅,虽然我已经让添加/编辑/删除部分工作,但我想在默认页面上添加一个简单的功能,用于新闻编辑

当您访问默认的新闻页面时,您会看到一个简单的以前的新闻帖子列表。显示的列包括:

新闻标题、作者、发布日期、活动、编辑

对于“活动”列,我需要一个简单的开关设置为“活动”或“非活动”。一旦该开关被翻转,相应的新闻帖子将在不重新加载整个页面的情况下更新。它只是执行

(UI的旁注:我还想设置该新闻帖子表格的单元格颜色的动画,但这将是我稍后可以解决的问题)

当前,news-list.php脚本按如下方式加载每一行:

$news_edit_options .= "<tr id=\"" . $row["newsid"] . "\">";
$news_edit_options .= "     <td>" . $row["title"] . "</td>";
$news_edit_options .= "     <td>" . $row["login"] . "</td>";
$news_edit_options .= "     <td>" .$row["date_released"] . "</td>";
$news_edit_options .= "     <td>";
$news_edit_options .= "       <form method=\"post\" action=\"news-activator.php\" class=\"news-activator\">";
$news_edit_options .= "          <input type=\"hidden\" name=\"newsid\" value=\"" . $row["newsid"] . "\">";
$news_edit_options .= "          <input type=\"radio\" name=\"active\" value=\"0\"";
if ($row["active"] == 0) {
     $news_edit_options .= " checked";
}
$news_edit_options .= "> inactive <br />";

$news_edit_options .= " <input type=\"radio\" name=\"active\" value=\"1\"";
if ($row["active"] == 1) {
     $news_edit_options .= " checked";
}
$news_edit_options .= "> active";
$news_edit_options .= "  </form>";
$news_edit_options .= "</td>";
$news_edit_options .= "     <td><button type=\"button\" class=\"btn btn-primary newsbutton\" data-toggle=\"modal\" data-target=\"#newsModal\" id=\"" . $row["newsid"] . "\">Edit</button></td>";
$news_edit_options .= "</tr>";
这根本不管用。
.submit(函数(){})平铺部分不起作用。但是,当我将其更改为:

$.when(LoadAPage('#news-list','news-list.php')).done(function() {
    $("input[type=radio]").change(function() {
        $(this).closest("form").submit();
    });
});
这将“起作用”,但表单只是提交,我无法用jQuery捕获数据并完成所有我想做的事情。我确实尝试了复选框,但遇到了同样的问题


我有一种感觉,我只是错过了一些东西,或是处理这一切都错了。有什么想法吗?

试试这个。我认为你的两次尝试都成功了一半,你只需要将它们结合起来:)

第一个提交函数告诉jQuery在提交表单时要做什么。
e.preventDefault()阻止默认操作(即在您有时间执行任何其他jQuery之前提交表单并重新加载页面)

第二个
.submit()
触发一个表单submit,该表单从提交处理程序函数运行代码

$.when(LoadAPage('#news-list','news-list.php')).done(function() {
    $("input[type=radio]").change(function() {
        $(this).closest("form").submit();
    });
});
$.when(LoadAPage('#news-list','news-list.php')).done(function() {
    $("input[type=radio]").change(function() {
        $(this).closest("form").submit(function(e) {
           e.preventDefault();
           alert("the form was submitted");
        });
        $(this).closest("form").submit();
    });
});