نمایش نتایج 1 تا 4 از 4

نام تاپیک: خواندن جمع مقادیر یک فیلد مخفی از جدول با شرط

  1. #1

    خواندن جمع مقادیر یک فیلد مخفی از جدول با شرط

    سلام. وقت بخیر
    من جدولی با ساختار زیر دارم



    کد HTML:
    <table id="Itemdatatable" class="table table-striped table-hover">        
    <thead>            
    <tr>                
        <th>                    ردیف                </th>
        <th>                    ستون 1               </th>                
        <th>                    ستون 2                </th>            
    </tr>        
    </thead>        
        <tbody>                
            <tr>                                        
                <input id="Items_Index" name="Items.Index" type="hidden" value="0">
                <input data-val="true" id="Items_0__Item_InvoiceID" name="Items[0].Item_InvoiceID" type="hidden" value="41446">                        
                <input data-val="true" id="Items_0__Item_StoreID" name="Items[0].Item_StoreID" type="hidden" value="6">                    
                .                    
                .                    
                .                    
                <input id="Items_0__Item_ServicePercentage" name="Items[0].Item_Percentage" type="hidden" value="0">                    
                <td>                        1                    </td>   
                <td>                       AAAAa                    </td>
                <td>                           bbbb                    </td>                  
            </tr>
    
    
            <tr>                                        
                <input id="Items_Index" name="Items.Index" type="hidden" value="1">                    
                <input data-val="true" id="Items_1__Item_InvoiceID" name="Items[1].Item_InvoiceID" type="hidden" value="55546">                        
                <input data-val="true" id="Items_1__Item_StoreID" name="Items[1].Item_StoreID" type="hidden" value="13">
                .                    
                .                    
                .                    
                <input id="Items_1__Item_ServicePercentage" name="Items[1].Item_Percentage" type="hidden" value="10">                    
                <td>                        2                    </td>
                <td>                       cccc                    </td>
                <td>                          ddd                    </td>                  
            </tr>                
            .                
            .                
            .                      
        </tbody>    
    </table>


    میخوام جمع مقادیر فیلد Item_StoreID رو به دست بیارم که مقدار فیلد Item_Percentage اون ردیف، صفر یا خالی هست. ممنون میشم راهنماییم کنید

  2. #2

    نقل قول: خواندن جمع مقادیر یک فیلد مخفی از جدول با شرط

    حل شد ممنون

  3. #3
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,141

    selector برای انتخاب دسته ای hidden input بر اساس مقدار یک فیلد دیگر و جمع مقادیر آنها

    نقل قول نوشته شده توسط resident مشاهده تاپیک
    سلام. وقت بخیر
    من جدولی با ساختار زیر دارم
    ...
    میخوام جمع مقادیر فیلد Item_StoreID رو به دست بیارم که مقدار فیلد Item_Percentage اون ردیف، صفر یا خالی هست. ممنون میشم راهنماییم کنید
    سلام و روز خوش
    فکر کنم قدیما یک تاپیک مشابه این دیده بودم (پرسش و کدها خیلی شبیه این بود).

    1- ادیتور اینجا کدهای html رو درست فرمت نمیکنه، از تگ code یا xml استفاده کنین بجای تگ html:
    <table id="Itemdatatable" class="table table-striped table-hover">
    <thead>
    <tr>
    <th> ردیف </th>
    <th> ستون 1 </th>
    <th> ستون 2 </th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <input id="Items_Index" name="Items.Index" type="hidden" value="0">
    <input data-val="true" id="Items_0__Item_InvoiceID" name="Items[0].Item_InvoiceID" type="hidden"
    value="41446">
    <input data-val="true" id="Items_0__Item_StoreID" name="Items[0].Item_StoreID" type="hidden" value="6">
    .
    .
    .
    <input id="Items_0__Item_ServicePercentage" name="Items[0].Item_Percentage" type="hidden" value="0">
    <td> 1 </td>
    <td> AAAAa </td>
    <td> bbbb </td>
    </tr>
    <tr>
    <input id="Items_Index" name="Items.Index" type="hidden" value="1">
    <input data-val="true" id="Items_1__Item_InvoiceID" name="Items[1].Item_InvoiceID" type="hidden"
    value="55546">
    <input data-val="true" id="Items_1__Item_StoreID" name="Items[1].Item_StoreID" type="hidden" value="13">
    .
    .
    .
    <input id="Items_1__Item_ServicePercentage" name="Items[1].Item_Percentage" type="hidden" value="10">
    <td> 2 </td>
    <td> cccc </td>
    <td> ddd </td>
    </tr>
    .
    .
    .
    </tbody>
    </table>


    2- گرچه شما مشکل خودتون رو برطرف کردین،
    ولی چون اینجا یک انجمن آموزشی هست بهتره که تاپیک رو کامل کنین
    شاید در آینده برای کسی که مشکل مشابه داشته باشه سودمند باشه.

    3- انتخاب عنوان و تگ مناسب برای کسانی که مشکل مشابه دارن در جستجو کمک میکنه (چه جستجوی خود فروم و چه موتورهای جستجو)

  4. #4
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,141

    selector برای انتخاب دسته ای hidden input بر اساس مقدار یک فیلد دیگر و جمع مقادیر آنها

    برای کسانی که در آینده ممکنه با مورد مشابه برخورد کنن چند نمونه کد پیوست میکنم.

    باید اول مسئله رو به بخش های کوچکتر تقسیم کنیم:
    1- انتخاب همه tr هایی که یک input:hidden با value=0 و id (یا name) اونها با Item_ServicePercentage تموم میشه
    2- انتخاب همه input:hidden های این tr که id (یا name) اونها با Item_StoreID تموم میشه
    3- جمع value همه این inputهای مرحله 2 با هم

    این مسئله هم با JavaScript خالص و بدون هیچ کتابخانه و فریمورک (Pure JavaScript یا Vanilla JavaScript) قابل حل هست
    و هم با استفاده از کتابخانه jQuery (بطور منطقی چون در این بخش مطرح شده).

    1- جاوااسکریپت خالص
    let sum = 0;
    let inputs = document.querySelectorAll('#Itemdatatable input[id$="Item_ServicePercentage"][value="0"]');
    for (i = 0; i < inputs.length; i++) {
    let parent = inputs[i].parentElement;
    let store = parent.querySelector('input[id$="Item_StoreID"]');
    sum += parseInt(store.value);
    };


    2- جاوااسکریپت خالص
    let sum = 0;
    document.querySelectorAll('#Itemdatatable input[id$="Item_ServicePercentage"]:not([value="0"])')
    .forEach(function (x) {
    sum += parseInt(x.parentElement.querySelector('input[id$="Item_StoreID"]').value);
    });



    3- با استفاده از jQuery
    let sum = 0;
    $('#Itemdatatable input[id$="Item_ServicePercentage"][value=0]')
    .parent()
    .find($('input[id$="Item_StoreID"]'))
    .each(function () {
    sum += parseInt(this.value);
    });

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •