Java活用生活

ログイン

オンライン状況

オンラインユーザー1人
ログインユーザー0人
登録ユーザー2人

カウンタ

COUNTER335483

日誌

Web Master >> 記事詳細
2023/02/26

Jquery select 選択値で、別のselectのoptionを変更

固定リンク | by:aramaki
jQuery select 選択値で、別のselectのoptionを変更
----------------------------------------------------------------------------

実行結果
ここをクリック

----------------------------
     ソースコード
----------------------------

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css" />
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js"></script>
    <script type="text/javascript">
      $(function(){
        let data0 =[{name:"",id:"0"}];

        let data1=[{name:"",id:"0"},{name:"東京",id:"1"},{name:"大阪",id:"2"},{name:"京都",id:"3"}];

        let data2=[{name:"",id:"0"},{name:"ワシントン",id:"1"},{name:"シアトル",id:"2"},{name:"コロラド",id:"3"}];

        let data3=[{name:"",id:"0"},{name:"北京",id:"1"},{name:"上海",id:"2"},{name:"香港",id:"3"}];

        let city_data = undefined;

        // 地域エリアを選択した場合、対応するオプションがselect要素に設定する。
        $('[name = area]').on('change',function(){
          let area_val = $(this).val();
          
          switch(area_val){
            case "0" :
            city_data = data0;
            break;
            case "1":
            city_data = data1;
            break;
            case "2" :
            city_data = data2;
            break;
            case "3" :
            city_data = data3;
            break;
            default:
              break;

          }
            // selectタグのoption値を一旦削除
            $('[name = city] option').remove();
            // 新たにoptionを設定する。
            let selectItem = "";
            $.each(city_data,function(index,data){
              
              $('[name = city]').append($('<option>').text(data.name).val(data.id));
              if(index == 1){
                // data1 data2 data3の2番目の値を選択状態にする。
                selectItem = data.id;
              }             

            });

            $('[name = city] option').attr("selected", false);

            $('[name = city]').val(selectItem);

            $('[name = city]').selectmenu('refresh');             
 
        })
        
      });


    </script>
  </head>

  <body>
    <div>
      <div class="form">
       <form name="country" >
        <label for="area_name">国名</label>
        
        <select id="area_name" name="area" size="1">
            <option value="0"></option>
            <option value="1">日本</option>
            <option value="2">アメリカ</option>
            <option value="3">中国</option>
        </select>
        <label for="city _name">都市名</label>
        <select id="city _name" name="city" size="1">
            <option value="0"></option>
            <option value="1">ワシントン</option>
            <option value="2">シアトル</option>
            <option value="3">コロラド</option>
        </select>

       </form>
    </div>
  </body>
</html>






21:16 | 投票する | 投票数(0) | コメント(0)
Copyright © Java活用生活 All Rights Reserved .