jquery - 将data-rowindex值动态存储到数组中

时间:2017-10-13 04:53:05

标签: javascript php jquery

我想将data-rowindex值动态保存到数组

<tr class="ewTableRow" data-rowindex="1" id="r1_assessment_training" data-rowtype="2">

我试过下面的代码。 (我不确定代码下面的天气是否正确)?

var a = $('#tbl_assessment_traininggrid tr').length;

var row_count = [];
    for (var i = 1; i <= a; i++) {
        var rowCntrl = $("data-rowindex[i]").val();
        alert(rowCntrl);
        row_count.push(rowCntrl);
    }

3 个答案:

答案 0 :(得分:2)

另请注意,如果您想选择包含变量i的元素,请使用$("[data-rowindex=" + i + "]")

var a = $('#tbl_assessment_traininggrid tr').length;

var row_count = [];
for (var i = 1; i <= a; i++) {
  var rowCntrl = $("[data-rowindex=" + i + "]").attr("data-rowindex");
  alert(rowCntrl);
  row_count.push(rowCntrl);
}

console.log(row_count)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tbl_assessment_traininggrid">
  <tr class="ewTableRow" data-rowindex="1" id="r1_assessment_training" data-rowtype="2"></tr>
  <tr class="ewTableRow" data-rowindex="2" id="r2_assessment_training" data-rowtype="2"></tr>
  <tr class="ewTableRow" data-rowindex="3" id="r3_assessment_training" data-rowtype="2"></tr>
</table>

答案 1 :(得分:1)

以下答案适合我。

$(".ewTableRow").each(function(){
   row_count.push($(this).data('rowindex'));
});

使用Jquery函数..!

答案 2 :(得分:0)

您可以使用Jquery中的每个遍历元素并使用.data()从元素的数据属性中获取数据(注意:使用数据有助于解析json字符串并直接从数据属性获取对象,如果需要在数据属性中保存json字符串,如下所示:

&#13;
&#13;
var row_count = [];
    
$(".ewTableRow").each(function(){
  row_count.push($(this).data('rowindex'));
});

console.log(row_count);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
   <tr class="ewTableRow" data-rowindex="1"  data-rowtype="2"></tr>
   <tr class="ewTableRow" data-rowindex="2"  data-rowtype="2"></tr>
   <tr class="ewTableRow" data-rowindex="3" data-rowtype="2"></tr>
  </table>
&#13;
&#13;
&#13;