在表内的下拉列表中选择值时查找行索引

find the row index while selecting values in the dropdown list inside the table

本文关键字:查找 索引 选择 下拉列表      更新时间:2023-09-26

我每一行都有一个下拉列表,而默认值是No。当我更改特定行的下拉值时,我需要获取行索引。我尝试了这个javascript函数,

function selectedExcludedoption() {
   var selectedExcludeoption = $('#riexclusion option:selected').text().trim();
   if (selectedExcludeoption == "Yes") {
       revisedvalue = $('tbody#riDecisionvalues td:eq(4)').text("0.00");
   }
   else {
       revisedvalue = $('tbody#riDecisionvalues  td:eq(4)').text();
   }
}

my table HTML code

<div id="ridecisiontable">
    <table class="table table-hover table-responsive" id="ritable">
        <thead>
            <tr>
                <th style="width: 107px; margin-right: -5px;" class="text-left">Exclude</th>
            </tr>
        </thead>
        <tbody data-bind="foreach: ridecisionGroups" id="riDecisionvalues">
            <tr>
                <td style="width: 107px;margin-right: -5px;">
                    <div class="col-sm-5" style="margin-right: -15px;">
                        <select class="form-control text-right excluded" id="riexclusion" onchange="selectedExcludedoption()">
                            <option value="No">No</option>
                            <option value="Yes">Yes</option>
                        </select>
                    </div>
                </td>
            </tr>
        </tbody>
    </table>
</div>

如何获得特定的行索引值?

在javascript函数中传递这个对象

<select class="form-control text-right excluded" id="riexclusion" onchange="selectedExcludedoption(this)">
  <option value="No">No</option>
  <option value="Yes">Yes</option>
</select>

和修改函数

function selectedExcludedoption(selectBox)
        {            
           var rowIndex = $(selectBox).closest('tr').index();
            alert(rowIndex);
            var selectedExcludeoption = $('#riexclusion option:selected').text().trim();
            if (selectedExcludeoption == "Yes")
            {
                revisedvalue= $('tbody#riDecisionvalues td:eq(4)').text("0.00");
            }
            else {
                revisedvalue= $('tbody#riDecisionvalues  td:eq(4)').text();
            }
        }

你需要找到最近的tr

<select class="form-control text-right excluded" id="riexclusion" onchange="selectedExcludedoption(this)">
                                                    <option value="No">No</option>
                                                    <option value="Yes">Yes</option>
                                                </select>

写入selectedExcludedoption

function selectedExcludedoption(obj){
  var rowIndex=$(obj).closest('tr').index();
    rowIndex=rowIndex-1; //exclude thead row.
}

这将给你选定的行索引

$("#ritable tr select").live('change', function(e){
   alert($(this).closest('td').parent()[0].sectionRowIndex);
});