Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从html表数据填充javascript模型_Javascript_Jquery_Asp.net - Fatal编程技术网

如何从html表数据填充javascript模型

如何从html表数据填充javascript模型,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我在我的页面上的表格中有以下类型的动态UI <table id="tblUserAttendance"> <tr id="135"> <td> 1 </td> <td> Student 1 </td> <td> <input checked="checked" name="rdo135" type="radio" value="true" /&

我在我的页面上的表格中有以下类型的动态UI

<table id="tblUserAttendance">
 <tr id="135"> <td> 1 </td>
               <td> Student 1 </td> 
               <td> <input checked="checked" name="rdo135" type="radio" value="true" /> Pre 
                    <input name="rdo135" type="radio" value="false" /> Absent
               </td>
 </tr>
<tr id="136"> <td> 1 </td>
               <td> Student 1 </td> 
               <td> <input checked="checked" name="rdo136" type="radio" value="true" /> Pre 
                    <input name="rdo136" type="radio" value="false" /> Absent
               </td>
 </tr>
<tr id="137"> <td> 1 </td>
               <td> Student 1 </td> 
               <td> <input checked="checked" name="rdo137" type="radio" value="true" /> Pre 
                    <input name="rdo137" type="radio" value="false" /> Absent
               </td>
 </tr>
</table>
我想创建这样的学生数组,它应该等于上表中的行数


您能告诉我如何实现这一点吗。

此jQuery将为您创建一个学生对象数组:

<script type="text/ecmascript">
    var result = [];
    var students = $.each($('#tblUserAttendance tr'), function (i, e) {
        var studentData = $('td', e);
        var checks = $('input', studentData[2]);
        var student = { id: e.id, name: studentData[1].textContent, active: checks[0].checked };
        result[i] = student;
    });
</script>

var结果=[];
var students=$。每个($('#tbluserantdance tr'),函数(即,e){
var studentData=$('td',e);
var检查=$('input',studentData[2]);
var student={id:e.id,名称:studentData[1]。textContent,活动:checks[0]。checked};
结果[i]=学生;
});

您走错了方向。视图以另一种方式呈现来自控制器的数据。great@m1kael,所以现在使用上面的查询,我们可以得到每个学生的id和姓名,但是如何获得单选按钮组的值,你能在同一个答案中建议一个jquery选择器来实现这一点吗?我想这行var student={id:e.id,name:studentData[1].textContent};应该是var student={id:e.id,IsPresent:studentData[1].is(':checked');我说的对吗?更新了我的答案。is(“:checked”)也可以,但只有在对输入调用时才可以,而不是td(studentData[1]是td)。我的方法是相同的,所以我不需要添加单独的答案。感谢Richard+1为您提供的方法
<script type="text/ecmascript">
    var result = [];
    var students = $.each($('#tblUserAttendance tr'), function (i, e) {
        var studentData = $('td', e);
        var checks = $('input', studentData[2]);
        var student = { id: e.id, name: studentData[1].textContent, active: checks[0].checked };
        result[i] = student;
    });
</script>