1. 程式人生 > >jquery獲取 動態表中所有的單選框值

jquery獲取 動態表中所有的單選框值

HTML程式碼,此處為動態生成的表:

<table class="table table-striped table-bordered table-hover" id="testtable">
    <thead  align="center" style="font-weight: bold;">
         <tr>
           <td width="100px">類別</td>
           <td width="150px">專案</td>
           <td width="350px">細則</td>
           <td width="200px">選項</td>
           <td>說明</td>
         </tr>
    </thead>
    <tbody id="esatable">
    </tdody>
</table>

JS程式碼:

//此處根據後臺的資料動態生成表資訊
function selectEsaInfo() {
            var id = 1;
            $.ajax({
                  type: "post",
                  url: "../esa/tableShow.cyl",
                  data: {
                      category_id : id
                  },
                  dataType: "json",
                  success: function(data){
                      var data = data.esaList;
                      var html = "";
                          html += "<tr><td rowspan='"+ data.length +"' align='center' >";
                      for (var i = 0; i < data.length; i++) {
                          html += ""+ data[i].esa_category+"</td>";
                        html += "<td align='center'>"+ data[i].esa_project +"</td>"
                          html += "<td>"+ data[i].esa_regulations +"</td>"
                           html += "<td name='rd' dv='" + data[i].id + "' align='center'>"
                           html += "<input type='radio' name='"+ data[i].id +"' value='0'/>符合"
                        html += "<input type='radio' name='"+ data[i].id +"' value='1'/>不符合"
                        html += "<input type='radio' name='"+ data[i].id +"' value='2'/>不適用</td>"
                        html += "<td  align='center' name='tx' tet='" + data[i].id + "'>"
                        html += "<textarea id= '" + data[i].id + "' style='border: none;width: 200px;height:40px;'></textarea>"
                        html += "</td></tr>"
                    }
                      $("#esatable").html(html);
                      mergeCell("esatable",1,data.length,0);
                  },
                  error: function(){
                      
                  }
               });
        }

//此處為獲取rodio值的js

function detmecSave() {//detmecSave是一個提交按鈕的點選事件
            var tds = $("#testtable").find("td[name='rd']");//表id:testtable,獲取表中每行屬性裡有name=rd的行(這裡給td寫個name屬性)
            var arryrodio = {};//建立陣列
            for(var i = 0; i < tds.length; i++) {//迴圈所有行
                var radioName = tds [i].getAttribute("dv");//獲取每行td的dv屬性,為了方便區分每個rodio給一個鍵值
                var radioValue = $("input[name='" + radioName + "']:checked").val();//獲取rodio值
                arryrodio[radioName] = (radioValue == undefined ? null : radioValue);//向陣列新增元素
            }
            console.log(arryrodio );//列印
        }