Win8 Metro風格的Web案頭HteOS

來源:互聯網
上載者:User

標籤:java   javascript   jquery   jsp   json   

Checkbox類:

1.實現checkbox的全選功能

<script type="text/javascript">//全選checkbox:1、當全選checkbox勾選,子checkbox(name為'ids'的checkbox)自動全部勾選//2、當全選checkbox取消勾選,子checkbox自動全部取消勾選function  checkAll(){      if($("#checkall")[0].checked){      $("input[type='checkbox'][name='ids']").attr("checked","checked");      }else{      $("input[type='checkbox'][name='ids']").attr("checked",null);      }}//子checkbox:1、當所有子checkbox全部勾選時,全選checkbox自動勾選//2、當有一個子checkbox沒有勾選時,全選checkbox自動改為未勾選function changeCheckCount(){       var count=0;   $("input[type='checkbox'][name='ids']").each(function(index,data){            if(this.checked){            count++;              }   });       if(count== $("input[type='checkbox'][name='ids']").length){       $("#checkall").attr("checked","checked");       }else{       $("#checkall").attr("checked",null);       }}</script>

<td><!-- 全選checkbox --><s:checkbox name="checkall" id="checkall" value="" cssClass="checkbox" onclick="checkAll()"/></td><td><!-- 子checkbox -->   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" onclick="changeCheckCount()"/>   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" onclick="changeCheckCount()"/>   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" onclick="changeCheckCount()"/>   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" onclick="changeCheckCount()"/></td>


2.擷取checkbox被選中的個數,並將checkbox的值組織成字串

<script type="text/javascript">//1、擷取checkbox選中的個數:count//2、將選中的checkbox的值(此例子為id)組織成"id,id,id,..."類型的字串,方便action擷取:idsfunction checkbox(){    var count=0;    var ids="";    $("input[type='checkbox'][name='ids']").each(function(index,data){       if(this.checked){          count++;          if(count==1){              ids=$(this).val();          }else{              ids=ids+","+$(this).val();          }       }   });}</script> 

<td>   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox"  />   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" "/>   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" "/>   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" "/></td>


Select類

1.jQuery實現下拉式清單的聯動,實現省份和城市的關聯

<script type="text/javascript">//實現省份和城市的二級聯動/*jQuery.post( url, [data], [callback], [type] ) :使用POST方式來進行非同步請求,[]為可選屬性,此例子選了[data],[callback] 參數:url (String) : 發送請求的URL地址.data (Map) : (可選) 要發送給伺服器的資料,以 Key/value 的索引值對形式表示。callback (Function) : (可選) 載入成功時回呼函數(只有當Response的返回狀態是success才是調用該方法)。type (String) : (可選)官方的說明是:Type of data to be sent。其實應該為用戶端請求的類型(JSON,XML,等等) */function showCity(value){//通過action裡的showCity函數實現通過省份名字擷取對應省份下的城市列表,並返回相應的資料//{name:value}:value為省份下拉式清單傳過來的省份名字    $.post("${pageContext.request.contextPath}/company_showCity.action",{name:value} ,function(data,textStatuts){            //alert(data);            var dataObj=eval("("+data+")");            //alert(dataObj);                        //先刪除之前一次載入的城市            $("select[name='city'] option[value!='']").remove();                        //將城市封裝成option後加到select裡,格式如下            // <select name="city" style="width:90%">                //<option value="">--------</option>            //</select>            for(var i=0;i<dataObj.length;i++){                  var $option=$("<option></option>");                  $option.attr("value",dataObj[i].name);                  $option.text(dataObj[i].name);                  $("select[name='city']").append($option);            }     });}</script>

<tr><td>省份:</td><td>        <s:select list="#provinceList" name="province" id="province"                  listKey="name" listValue="name"                 headerKey="" headerValue="--------"                cssStyle="width:90%" onchange="showCity(this.value)">        </s:select></td><td>城市:</td><td>    <s:select list="{}" name="city" id="city"               headerKey="" headerValue="--------" cssStyle="width:90%" >    </s:select></td></tr>

company.action中的showCity函數

/**通過省份顯示對應城市 * @throws IOException **/public String showCity() throws IOException{//拿到jsp中省份的名字String name=request.getParameter("name");if(StringUtils.isNotBlank(name)){//通過省份名字拿到對應省份實體(下面查詢城市時,用來拿省份id)Province province=provinceService.findProvinceByName(name);//通過省份id查詢該省份下的所有城市List<City> cityList=cityService.findCityByPid(province.getId());//New一個JsonConfigJsonConfig config=new JsonConfig();//設定不要擷取的屬性列,只取city表裡的name屬性,根據自己定義的city表進行定義,config.setExcludes(new String[]{"id","pycode","pid","postcode","areacode"});//將List轉換為jsonArrayJSONArray jsonArray=JSONArray.fromObject(cityList,config);response.setCharacterEncoding("utf-8");//將jsonArray轉成字串後發送給jsp頁面response.getWriter().print(jsonArray.toString());}return null;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.