0

我有表格包含在表格中。该表是从一个 CF 循环构建的,在该循环中,我为每个行 ID 分配了 sql 表中的 NumberID。我有一个执行 jquery ajax 提交的提交按钮。我需要隐藏提交的行而不是重新加载页面。

    <form id="unsortedTable" >
    <input type="submit"   id="makeParentButton" value="Make Parent">
    </span>
    <div class="row-fluid"><p></p>
    <table class="table table-bordered table-striped table-hover">


        <tbody>
      <cfloop query="nonAffiliated">

          <tr id="#NumberID#">
            <td><input type="radio"  name="NumberID" value="#NumberID#"></td>
          </tr>
      </cfloop>
      </tbody>
      </table>
      </div>
 </form>  

然后我有执行提交时触发的 JavaScript。

    $(document).ready(function(e) {
    $("#unsortedTable").submit(sendForm);

    });

    function sendForm() {
       var row = $(this).closest('tr');
        $.post('handlers/formHandler.cfm',
        $("#unsortedTable").serialize(),function(data,status){
        $("#unsortedTable")[0].reset();

        row.hide(); //This is just a guess
    });
    return false


 }

一切正常,除了我无法将提交的行隐藏()。

4

1 回答 1

0

除非表单在您要隐藏的表格行内,$(this).closest('tr')否则不会找到该行。您可能认为$(this)确实指的是单击的按钮,但是您在表单上使用了 subit 处理程序,而不是按钮上的单击处理程序。

您可能希望以不同的方式找到该行,或者id先找到按钮,或者先找到按钮:

$('#rowId').hide();

或者

$('#buttonId').closest('tr').hide();

编辑:

在更仔细地重新阅读了您的问题后,我意识到您不希望隐藏提交按钮,而是隐藏单选按钮。为此,您可以执行以下操作:

$(this).find('input:radio:checked').closest('tr').hide();
于 2013-03-08T19:36:51.710 回答