简体   繁体   English

如何计算我创建的对象数量?

[英]How to count number of objects I create?

I can create member objects using following html coding.我可以使用以下 html 编码创建成员对象。 But for some calculations, I need to get the count of the member objects.但是对于某些计算,我需要获取成员对象的计数。 Also when I delete one of the member object it should reduce the member objects count.此外,当我删除成员 object 之一时,它应该减少成员对象的数量。

Following fuction will create the members.以下函数将创建成员。

function appendMember(rowNumber) {
    debugger

    var subrowNumber = parseInt($("#itemmapWrapper" + rowNumber + "").attr("data-subrowNumber"));


    subrowNumber = isNaN(subrowNumber) ? 1 : subrowNumber + 1;

    var addNewItemDetailHtml = "<div class='col-lg-10 col-md-10 col-sm-10 col-xs-10 itemmapAllocationWrapper  custom-paaddingnone form-group' \
                               id='dvaddNewItemDetailSub" + subrowNumber + "' data-subrowNumber='" + subrowNumber + "'>";

    addNewItemDetailHtml += "<div class='col-lg-4 col-md-4 col-sm-4 col-xs-4 custom-paaddingnone'>\
                                <div class='col-lg-3 col-md-3 col-sm-3 col-xs-3 custom-paaddingnone text-center'>\
                                </div>\
                                <div class='col-lg-9 col-md-9 col-sm-9 col-xs-9 custom-paaddingnone'>\
                                    <div class='col-lg-12 col-md-12 col-sm-12 col-xs-12 custom-paaddingnone'>\
                                        <div class='col-lg-10 col-md-10 col-sm-10 col-xs-10 custom-paaddingnone'>\
                                            <select class='form-control' id ='memberid"+ rowNumber + subrowNumber + "' ></select>\
                                        </div>\
                                    </div>\
                                </div>\
                             </div>";

    addNewItemDetailHtml += "<div class='col-lg-2 col-md-2 col-sm-2 col-xs-2 custom-paaddingnone'>\
                                <span class='glyphicon glyphicon-trash removeBtn' onclick = 'removeMemberDetail(this)' ></span >\
                            </div>";

    addNewItemDetailHtml += "</div>";

    addNewItemDetailHtml += "</div>";



    $("#itemmapWrapper" + rowNumber + "").attr("data-subrowNumber", subrowNumber);
    $(".memberContainer").append(addNewItemDetailHtml);
    intialize_memberDropDown(rowNumber, subrowNumber);
}

This code will take data from db to the member select menu.此代码将从 db 获取数据到成员 select 菜单。

function intialize_memberDropDown(rowNumber, subrowNumber) {
    $.ajax({
        type: "GET",
        url: "/Member/GetAllMember/",
        cache: false,
        success: function (data) {
            debugger
            var countryHTMLString = "<option value ='0'>Select Member</option>";
            if (data.isSucess) {
                $.each(data.data, function (index, item) {
                    countryHTMLString += "<option value ='" + item.memberid + "'>" + item.membername + "</option>";

                });
            }
            $("#memberid" + rowNumber + subrowNumber + "").html(countryHTMLString)
            calculateTotalHotailBill(rowNumber)
        }, error: function (err) {
            debugger
        }
    });
}

This final code will remove member one I click the trash button I implemented on the append member function.这个最终代码将删除一个成员,我单击在 append 成员 function 上实现的垃圾按钮。

function removeMemberDetail(buttonElement) {
    debugger
    $(buttonElement).parents(".itemmapAllocationWrapper").remove();

    if ($(".itemmapAllocationWrapper").html() == "") {
        $("#memberid").removeAttr("disabled");
    }
}

You can count the children of your memberContainer.您可以计算您的 memberContainer 的孩子。 If you only have one, I would give it an id instead of a classname.如果你只有一个,我会给它一个 id 而不是类名。 But it works both ways.但它是双向的。

 console.log(document.getElementsByClassName("memberContainer")[0].children.length)
 <div class="memberContainer"> <div>child</div> <div>child</div> <div>child</div> </div>

simply add a hidden input with 0 value or whatever your initial value of objects is each time you use add member code increase it and when you use delete member decrease it your html只需添加一个带有 0 值的隐藏输入或任何您的对象初始值,每次您使用添加成员代码时增加它,当您使用删除成员时减少它您的 html

<input type='hidden' id='objectsCounter' value='0'>

java script increase function add this line at the end of it java 脚本增加 function 在它的末尾添加这一行

var objectCounter = document.getElementById('objectsCounter').value;
objectCounter++;
document.getElementById('objectsCounter').value = objectCounter

and at the end of deleting members function add this并在删除成员 function 的末尾添加此

var objectCounter = document.getElementById('objectsCounter').value;
objectCounter--;
document.getElementById('objectsCounter').value = objectCounter

you can get the value of objects any time using您可以随时使用获取对象的值

var objectCounter = document.getElementById('objectsCounter').value;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM