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

نام تاپیک: به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

  1. #1

    به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

    سلام.
    وقتی یک ردیف از جدول را ویرایش می کنم، index آن سطر را دارم. حالا می‌خواهم مقدار یک فیلد را از ردیف بعدی (مانند Item_Percentage) به دست بیارم.
    من کد زیر را نوشتم اما همیشه undefined برمی گردد.
    لطفا راهنمایی کنید.
    توجه: ممکن است index سطرها متوالی نباشد

    https://jsfiddle.net/L4froxty/1/

    جدول:

    <table id="Itemdatatable" class="table table-striped table-hover">
    <thead>
    <tr>
    <th>Row</th>
    <th>Col1</th>
    <th>Col2</th>
    <th> operation </th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <input id="Items_Index" name="Items.Index" type="hidden" value="0">
    <input name="Items[0].Item_InvoiceID" type="hidden" value="41446">
    <input name="Items[0].Item_StoreID" type="hidden" value="6">
    <input name="Items[0].Item_Percentage" type="hidden" value="0">
    <td> 1 </td>
    <td> aaaa </td>
    <td> bbbb </td>
    <td> <a href="#" onclick="EditItemRow(0)">Edit</a> </td>
    </tr>


    <tr>
    <input id="Items_Index" name="Items.Index" type="hidden" value="1">
    <input name="Items[1].Item_InvoiceID" type="hidden" value="55546">
    <input name="Items[1].Item_StoreID" type="hidden" value="13">
    <input name="Items[1].Item_Percentage" type="hidden" value="10">
    <td>2</td>
    <td>cccc</td>
    <td>ddd</td>
    <td><a href="#" onclick="EditItemRow(1)">Edit</a></td>
    </tr>

    </tbody>
    </table>



    function EditItemRow(rowIndex)
    {
    var currentRow = $('table#Itemdatatable').find('tr').eq(rowIndex);
    var nextRowIndex = $(currentRow).next().find('input[name="Items.Index"]').val();
    var percent = $('input[name="Items[' + nextRowIndex + '].Item_Percentage"]').val();
    alert(percent);
    }

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

    نقل قول: به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

    سلام و روز خوش

    1- شما یک tr هم در thead دارین که اون هم حساب میشه،
    باید از tbody شروع کنین.

    2- اون next هم پوینتر رو میبره رو tr بعدی و نباید باشه:

    با استفاده از jQuery
            function EditItemRow(rowIndex) {
    const percent = $('#Itemdatatable tbody tr').eq(rowIndex)
    .find($('input[name$="Item_Percentage"]')).val();
    alert(percent);
    }


            function EditItemRow(rowIndex) {
    const percent = $(`input[name$="Items[${rowIndex}].Item_Percentage"]`).val();
    alert(percent);
    }


    جاوااسکریپت خالص
    function EditItemRow(rowIndex) {
    const currentRow=document.querySelectorAll("#Itemdatatab le tbody tr")[rowIndex];
    const percent = currentRow.querySelector('input[name$="Item_Percentage"]').value;
    alert(percent);
    }


            function EditItemRow(rowIndex) {
    const percent = document.querySelector(`input[name$="Items[${rowIndex}].Item_Percentage"]`).value;
    alert(percent);
    }
    آخرین ویرایش به وسیله mazoolagh : یک شنبه 10 تیر 1403 در 19:11 عصر

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

    نقل قول: به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

    یک راه دیگه این هست که اصلا rowIndex استفاده نکنین،
    و از روی activeElement (که اینجا المان a هست)، tr رو پیدا کنین:

            function EditItemRow() {
    const currentRow = document.activeElement.parentElement.parentElement ;
    const percent = currentRow.querySelector('input[name$="Item_Percentage"]').value;
    alert(percent);
    }


        <table id="Itemdatatable" class="table table-striped table-hover">
    <thead>
    <tr>
    <th>Row</th>
    <th>Col1</th>
    <th>Col2</th>
    <th> operation </th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <input id="Items_Index" name="Items.Index" type="hidden" value="0">
    <input name="Items[0].Item_InvoiceID" type="hidden" value="41446">
    <input name="Items[0].Item_StoreID" type="hidden" value="6">
    <input name="Items[0].Item_Percentage" type="hidden" value="0">
    <td> 1 </td>
    <td> aaaa </td>
    <td> bbbb </td>
    <td> <a href="#" onclick="EditItemRow()">Edit</a> </td>
    </tr>
    <tr>
    <input id="Items_Index" name="Items.Index" type="hidden" value="1">
    <input name="Items[1].Item_InvoiceID" type="hidden" value="55546">
    <input name="Items[1].Item_StoreID" type="hidden" value="13">
    <input name="Items[1].Item_Percentage" type="hidden" value="10">
    <td>2</td>
    <td>cccc</td>
    <td>ddd</td>
    <td><a href="#" onclick="EditItemRow()">Edit</a></td>
    </tr>
    </tbody>
    </table>



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

    نقل قول: به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

    پ.ن:

    الان این داکیومنت html سمت سرور ایجاد شده؟

    اگر اینجور هست و خودتون هم میسازین چند نکته به نظر میاد:

    1- برای یک سری از inputها از id یکسان استفاده شده: Items_Index
    البته تا زمانی که نرین سراغش مشکلی ایجاد نمیکنه - ولی به هر حال نادرسته.

    2- میتونین برای inputها به جای name از id و با عبارتهای ساده تر استفاده کنین،
    این به کدنویسی ساده تر منجر میشه:

    Percentage_00
    InvoiceID_25

  5. #5

    نقل قول: به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    سلام و روز خوش

    1- شما یک tr هم در thead دارین که اون هم حساب میشه،
    باید از tbody شروع کنین.

    2- اون next هم پوینتر رو میبره رو tr بعدی و نباید باشه:

    با استفاده از jQuery
            function EditItemRow(rowIndex) {
    const percent = $('#Itemdatatable tbody tr').eq(rowIndex)
    .find($('input[name$="Item_Percentage"]')).val();
    alert(percent);
    }
    ممنون از زمانی که گذاشتین و به صورت کامل کدها رو گذاشتین

    بنده میخوام مقدار Item_Percentage مربوط به ردیف بعدی رو بخونم نه همون ردیفی که روش کلیک شده.

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

    نقل قول: به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

    پس کافی هست از rowindex+1 استفاده کنین.

    فقط حواستون به آخرین tr باشه!
    الان وضعیتش مشخص نیست که کدوم item_percentage رو باید بگیره.

  7. #7

    نقل قول: به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

    مشکل همین جاست که ایندکس‌ها به صورت متوالی نیستند

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

    نقل قول: به دست آوردن مقدار یک فیلد از ردیف بعدی جدول با استفاده از jquery یا js

    نقل قول نوشته شده توسط resident مشاهده تاپیک
    مشکل همین جاست که ایندکس‌ها به صورت متوالی نیستند
    خب نمونه ای که گذاشتین این رو نشون نمیده!

    خوبه که همین الان یک موردی رو مشخص کنین چون مبهم هست:
    منظور از ردیف بعدی آیا tr بعدی هست،
    یا rowindex بعدی (ولی این rowindex+1 میتونه در هر trی باشه)؟

    نمونه رو گسترش بدین تا مشخص باشه.
    و تکلیف آخرین tr هم باید مشخص باشه.

تاپیک های مشابه

  1. پاسخ: 12
    آخرین پست: یک شنبه 13 دی 1394, 17:31 عصر
  2. سوال: درست کدن منوی responsive با استفاده از jquery
    نوشته شده توسط arezooafshari در بخش طراحی وب (Web Design)
    پاسخ: 5
    آخرین پست: چهارشنبه 13 اسفند 1393, 15:37 عصر
  3. پاسخ: 0
    آخرین پست: جمعه 03 آذر 1391, 16:24 عصر
  4. پاسخ: 5
    آخرین پست: شنبه 04 دی 1389, 21:17 عصر
  5. پاسخ: 2
    آخرین پست: پنج شنبه 07 مرداد 1389, 22:40 عصر

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

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