asdtiang的博客 感謝blogjava提供的博客交流平臺

          grails 實現級聯下拉列表

          Posted on 2010-08-10 11:22 asdtiang 閱讀(1665) 評論(1)  編輯  收藏 所屬分類: grails study
          不多說,可以實現多級,http://xihuyu2000.javaeye.com/blog/349722,這個地方可以實現兩級,但我這里可以實現多級,直接上代碼吧。

          說明,手機充值有服務商,面值,和區域,現在數據庫設計有點問題,不過能說明問題就行。

          class TelDeltaPro {
              String id 
              String name//服務商
              String area//區域
              String price//面值
              String goodId
              
          int sum//沖值總次數
              static mapping={
                  id generator:
          'uuid'
              }

          }

          頁面主要代碼:
          <tr>
                      
          <td><span class="indexText2">服務商</span></td>
                      
          <td><g:select name="proName"
                          from
          ="${com.likai.asdtiang.domain.platform.TelDeltaPro.list()}"
                          optionKey
          ="name" optionValue="name"
                          onchange
          ="${remoteFunction(controller:'telDeltaPro', action:'price', params:'\'name=\'+this.value', update:[success:'price'])}"></g:select>
                      
          </td>
                  
          </tr>
                  
          <tr>
                      
          <td><span class="indexText2">面值</span></td>
                      
          <td>
                      
          <div id="price"></div>
                      
                      
          </td>
                  
          </tr>
                  
          <tr>
                      
          <td><span class="indexText2">地區</span></td>
                      
          <td>
                      
          <div id="area"></div>
                      
          </td>
                  
          </tr>
                  
          <tr>
                      
          <td></td>
                      
          <td><input type="submit" value="提交"></td>
                  
          </tr>

          主要是onchange="${remoteFunction(controller:'telDeltaPro', action:'price', params:'\'name=\'+this.value', update:[success:'price'])}"這個地方,remoteFunction查下文檔就可以了。

          contorller主要代碼如下:
          def price={
                  log.info params.name
          +"name"
                  session.putValue 
          "telName",params.name
                  def str
          ="""<select id="proName" name="price" onchange="${remoteFunction(controller:'telDeltaPro',
                   action:
          'area', params:'\'price=\'+this.value', update:[success:'area'])}">"""
                  def li
          =TelDeltaPro.findAllByName(session.telName)
                  li.each{
                      str
          =str+"""<option value="${it.price}">${it.price}</option>"""
                  }
                  str
          =str+"""</select>"""
                  render(text:str,contentType:
          "text/html",encoding:"UTF-8")
              }
              def area
          ={
                  log.info params.price
          +"    price"
                  def str
          ="""<select  name="area" >"""
                  def li
          =TelDeltaPro.findAllWhere(name:session.telName, price:params.price)
                  li.each{
                      str
          =str+"""<option value="${it.area}">${it.area}</option>"""
                  }
                  str
          =str+"""</select>"""
                  render(text:str,contentType:
          "text/html",encoding:"UTF-8")
                  
              }
          代碼應該很簡單的,看下就懂了。
          最后應該注意下:導入AJAX腳本,因為remoteFunction用到了AJAX
          <g:javascript library="prototype" />


          天蒼蒼,野茫茫,風吹草底見牛羊

          Feedback

          # re: grails 實現級聯下拉列表  回復  更多評論   

          2013-04-18 16:03 by 陳小龍
          it.area 能獲得值嗎 好像獲得不了

          posts - 80, comments - 24, trackbacks - 0, articles - 32

          Copyright © asdtiang

          asdtiang的博客 PaidMailz
          點擊廣告網賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
          主站蜘蛛池模板: 正定县| 辽阳市| 洪泽县| 东乌珠穆沁旗| 秦皇岛市| 麟游县| 东山县| 和龙市| 崇礼县| 汉寿县| 南皮县| 兴隆县| 安义县| 栖霞市| 江华| 博客| 察哈| 方山县| 房山区| 英吉沙县| 河津市| 申扎县| 博兴县| 萝北县| 峨边| 石河子市| 宜君县| 太原市| 桃源县| 柯坪县| 滁州市| 大足县| 晋江市| 绿春县| 社会| 泰顺县| 方城县| 盐池县| 若羌县| 古交市| 铁力市|