0

我正在创建一个动态表单,我想给用户删除一个选定的克隆表的机会。每个表都有一个带有唯一 ID 的复选框。这是我的代码:

    <button class="addOffer">Add Offer</button>
    <button class="delOffer">Delete Offer</button>
        <div id=offer>
        <TABLE id="AC" width="400px" border="0">
              <TR>
                  <TD class="g1">
                  <INPUT type="checkbox" name="chk"/>
                  </TD>
                  <TD class="g1"><SELECT name="ACREG">
                    <OPTION VALUE=""></OPTION>
                    <OPTION VALUE="ACA">ACA</OPTION>
                <OPTION VALUE="ACB">ACB</OPTION>
                </SELECT></TD>
                  <TD class="g1"></TD>
                  <TD align=right class="g1"><INPUT type="button" value="Add Pic" onClick="AddPic" /></TD>
              </TR>
        </TABLE>
        </div>

<script type="text/javascript">
    var i = 1;
    $('.addOffer').click(function() {
        var copy = $('#AC').clone();
        var formId = 'AC' + i;
        copy.attr('id', formId );

        $('#offer').append(copy);
        i++;  
    });
</script>

关于单击删除报价时选定的复选框如何将其 ID 发送到函数的部分,我有点迷失了。

非常感谢您的帮助和建议。问候,宝

4

1 回答 1

0

您可以在复选框中添加一个类,然后在 delOffer 上单击删除那些选中的
HTML的最近表

<button class="addOffer">Add Offer</button>
<button class="delOffer">Delete Offer</button>
    <div id=offer>
    <TABLE id="AC" width="400px" border="0">
          <TR>
              <TD class="g1">
              <!--add the class to checkbox-->
              <INPUT type="checkbox" name="chk" class="delCheck"/>
              </TD>
              <TD class="g1"><SELECT name="ACREG">
                <OPTION VALUE=""></OPTION>
                <OPTION VALUE="ACA">ACA</OPTION>
            <OPTION VALUE="ACB">ACB</OPTION>
            </SELECT></TD>
              <TD class="g1"></TD>
              <TD align=right class="g1"><INPUT type="button" value="Add Pic" onClick="AddPic" /></TD>
          </TR>
    </TABLE>
    </div>   

JS

$('.delOffer').click(function() {
    $(".delCheck:checked").closest("table").remove();
});    

或者

$('.delOffer').click(function() {
    $(".delCheck").each(function(i,n){
        //you can get the id of the table like $(n).closest("table").attr("id");
        if($(n).get(0).checked==true){//you can add more conditions to delete offer
                $(n).closest("table").remove();
        }
    });
});    

http://jsfiddle.net/bVBcJ/

于 2013-10-24T17:02:33.903 回答