溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery+SpringMVC中復選框選擇與傳值的示例分析

發(fā)布時間:2021-06-15 14:10:52 來源:億速云 閱讀:175 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“jQuery+SpringMVC中復選框選擇與傳值的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“jQuery+SpringMVC中復選框選擇與傳值的示例分析”這篇文章吧。

一、checkbox選擇

在jQuery中,選中checkbox通用的兩種方式:

$("#cb1").attr("checked","checked");
$("#cb1").attr("checked",true);

對應的jQuery函數(shù),主要完成三個功能:

1、第一個復選框選中或取消選中,則下面的復選框為全選或取消全選;

2、當下面的復選框全部選中時,則將第一個復選框設置為選中,當下面的復選框中有一個沒有被選中時,則第一個復選框取消選中;

3、將下面的復選框的id值傳遞給Controller層,組成id數(shù)組,然后調用相應的方法(一般都是刪除)。

<script type="text/javascript">  function chgAll(t){//第一個復選框選中或取消選中,則下面的復選框為全選或取消全選;
    $("input[name='id']").attr('checked',t.checked);//改變name名為id的input標簽內的復選框的checked屬性
  }
  function chg(){//當下面的復選框全部選中時,則將第一個復選框設置為選中,當下面的復選框中有一個沒有被選中時,則第一個復選框取消選中;
    var ids = $.makeArray($("input[name='id']"));
    for(var i in ids){
      if(ids[i].checked==false){//如果所有的復選框只要有一個未選中,則第一個復選框不會選中
        $("input[name='ids']").attr('checked', false);
        return;
      }
    }
    $("input[name='ids']").attr('checked', true);//全部選中的情況下,則第一個復選框選中
  }
  function deleteBatch(){//將下面的復選框的id值傳遞給Controller層,組成id數(shù)組,拼接url到controller層,調用批量刪除方法(deleteBatch())方法
    var ids = $.makeArray($("input[name='id']:checked"));//通過$.makeArray將id放在數(shù)組中
    var url = '<%basePath%>/web/goodsList/deleteBatch';//此url指向controller層的deleteBatch方法,需要id屬性
    var flag = true;
    for(var i in ids){//遍歷數(shù)組
      if(i == 0){
          url += "?id=" + ids[i].value;//第一個id屬性前加?拼接
          flag = false;
        } else {
          url += "&id=" + ids[i].value;//后面的id屬性前加&拼接
          flag = false;
        }
      }
    if(flag){//如果沒有選中商品
      alert("請選中商品!");
      return;
    }
    if(confirm("確定刪除記錄嗎?")){
      window.location.href = url;//把拼接好的id數(shù)組傳給頁面
    }
    }
</script>

二、在jsp頁面中對應的列表:

1、列表中要給表頭中的復選框(第一個復選框)設置name名,并調用chgAll(this)方法來實現(xiàn)全選或全不選;

2、table中的復選框設置name名,并調用chg()方法來實現(xiàn)上面的第二個功能;

3、form表單提交時調用deleteBatch()方法

<body>
  <form:form id="uuForm" modelAttribute="goods"  action="<%basePath%>/web/goodsList/" method="post" >//form表單提交時調用deleteBatch()方法
    <div> <input type="button"  onclick="deleteBatch()" value="批量刪除" /> </div>
  </form:form>
  <sys:message content="${message}" />
  <table id="cTable" >
    <thead>
      <tr>
      <th><input type="checkbox" name="ids" onchange="chgAll(this)" /></th>//調用chgAll(this)方法來實現(xiàn)全選或全不選,此處的this指所有復選框對象
        <th>商品編號</th>
        <th>商品標題</th>
      </tr>
    </thead>
    <tbody>
      <c:forEach items="${goods}" var="goods" varStatus="status">
        <tr>
        <td><input type="checkbox" name="id" value="${goods.goodsId }" onchange="chg()"/></td>//調用chg()方法
          <td>${webGoodsInfo.goodsNo}</td>
          <td>${webGoodsInfo.goodsTitle}</td>
        </tr>
      </c:forEach>
    </tbody>
  </table>
   
</body>

三、看下spring MCV中的controller代碼

@RequestMapping("deleteBatch")//對應jsp頁面中的deleteBatch()請求
  public String deleteBatch(Long[] id, RedirectAttributes redirectAttributes){//此處的id為頁面中的id值,必須保持一直!?。?!
    if(id !=null&&id.length!=0){
      goodsService.deleteBatch(id);
    }
    return "redirect:"+Global.getAdminPath()+"/web/webGoodsInfo/?repage";//重定向到列表頁面
  }
}

看下效果:

jQuery+SpringMVC中復選框選擇與傳值的示例分析

以上是“jQuery+SpringMVC中復選框選擇與傳值的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI