jQuery 中关于动态内容的删除确认对话框

编程与设计

我的div包含动态添加的记录。当我点击“删除”链接时,如果我有 3 条记录,它会生成一个确认框 3 次,如果我有 5 条记录,则生成 5 次,依此类推。

我只想显示该confirm特定行框。我怎样才能做到这一点?

```
<script type="text/javascript">
    $(document).ready(function () {
        $("#<%= imagehs.ClientID %>").on("click", function (event) {
            $("#textboxX").html("");
            $("#textboxY").html("");
            $("#textboxBPart").html("");
            $("#divSaveDynamicDis").html("");
            var values = new Array();
            var x = event.pageX;
            var y = event.pageY;
            //$(".marker").remove();
            $("body").append(
               // $('<div class="marker"></div>').css({
                //$('<div class="marker m_' + x + '_' + y + '" divdata-marker="m_' + x + '_' + y + '"></div>').css({
                $('<div class="marker m_' + x + '_' + y + '"></div>').css({
                    position: 'absolute',
                    top: y + 'px',
                    left: x + 'px',
                    //top: event.pageY + 'px',
                    //left: event.pageX + 'px',
                    width: '10px',
                    height: '10px',
                    background: '#dd4b39',
                    'border-radius': '10px'
                }) 
            );
           
            $("#textboxX").append('<div><input type="text" value="' + x + '" id="txtX" name="txtX"/></div>');
            $("#textboxY").append('<div><input type="text" value="' + y + '" id="txtY" name="txtY"/></div>');
            $("#textboxBPart").append("<div><input type='text' id='txtName' name='txtName'/></div>");

            var $r = $('<button />', { type: 'button', text: 'Refresh Data', id: 'btn_refresh' });

            var $cancle = $('<button />', { type: 'button', text: 'Cancle', id: 'btn_cancle' });

            $("#divSaveDynamicDis").append($r);
            $("#divSaveDynamicDis").append($cancle);
            $r.on('click', function () {
                if ($('input#txtName').val() == "") {
                    alert('Please complete the field');
                    $('input#txtName').focus();
                    return false;
                }
                //var NewData = '<div cla-ss="col-sm-12">' + x + '   ' + y + '  ' + txtName.value + ' &nbsp; <a href="javascript:void(0);" class="remCF" data-atrib=' + x +'>Remove</a> </div>';
                //var NewData = '<div class="col-sm-12">' + x + '   ' + y + '  ' + txtName.value + ' &nbsp; <a href="javascript:void(0);" class="remCF" data-marker="m_' + x + '_' + y + '">Remove</a> </div>';
                var NewData = '<div class="col-sm-12">' + x + '   ' + y + '  ' + txtName.value + ' &nbsp; <a href="javascript:void(0);" class="remCF" data-marker="m_' + x + '_' + y + '">Remove</a> </div>';
                $("#divdynamicData").append(NewData);
                $("#textboxX").html("");
                $("#textboxY").html("");
                $("#textboxBPart").html("");
                $("#divSaveDynamicDis").html("");
            });
            $('.marker').on('click', function () {
                $(this).remove();
               // div_ref = $(this).attr('divdata-marker')
               // $('#divdynamicData.' + div_ref).remove()
            });
            //$("#divdynamicData").live('click', '.remCF', function () {
            //$("#divdynamicData").on('click', '.remCF', function () {
            //    //if (confirm("Are you sure?")) {

            //        marker_ref = $(this).attr('data-marker')
            //        $('.marker.' + marker_ref).remove()
            //        $(this).parent().remove();
            //    //}
            //    //return false;
            //});
            $("#divdynamicData").on('click', '.remCF', function () {
               // if (confirm("Are you sure you want to delete?")) {
                    marker_ref = $(this).attr('data-marker')
                    $('.marker.' + marker_ref).remove()
                    $(this).parent().remove();
              //  }
            });
            $cancle.on('click', function () {
                $("#textboxX").html("");
                $("#textboxY").html("");
                $("#textboxBPart").html("");
                $("#divSaveDynamicDis").html("");
                
            });
            
        });
    });

```
$("#textboxX").append('<div><input type="text" value="' + x + '" id="txtX" name="txtX"/></div>');
$("#textboxY").append('<div><input type="text" value="' + y + '" id="txtY" name="txtY"/></div>');
$("#textboxBPart").append("<div><input type='text' id='txtName' name='txtName'/></div>");

var NewData = '<div class="col-sm-12">' + x + '   ' + y + '  ' + txtName.value + ' &nbsp; <a href="javascript:void(0);" class="remCF" data-marker="m_' + x + '_' + y + '">Remove</a> </div>';
$("#divdynamicData").append(NewData);

$("#divdynamicData").on('click', '.remCF', function() {
  // if (confirm("Are you sure you want to delete?")) {
  marker_ref = $(this).attr('data-marker')
  $('.marker.' + marker_ref).remove()
  $(this).parent().remove();
  //  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-lg-6">
  <asp:Image id="imagehs" name="imagehs" runat="server" Height="500" Width="500" />
  <div id="textboxX"></div>
  <div id="textboxY"></div>
  <div id="textboxBPart"></div>
  <div id="divSaveDynamicDis"></div>
  <div id="divdynamicData"></div>
</div>

卡尔爱德华兹

您通过返回confirm. 换句话说,一旦您返回 的值confirm,它下面的任何代码都不会触发。相反,您想通过条件检查用户从确认中选择了什么,并将您的删除代码放在继续的块中:

$("#divdynamicData").on('click', '.remCF', function() {
  if (confirm("Are you sure you want to delete?")) {
    var marker_ref = $(this).attr('data-marker');

    $('.marker.' + marker_ref).remove();

    $(this).parent().remove();
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章