2017-10-16 4 views
0

私はチェーン選択要素をトリガーする次のコードを持っています。 cityIDを$(this).val();の値に変更したいと思います。 property_cityがデータベースから取得された値に変更されない場合は、それを選択した場合。これは可能ですか?フォームが提出されているかどうかチェックし、ifステートメントを使ってjavascript変数を変更します

<script> 
$("select[name='property_city']").change(function() { 

    var cityID = $(this).val(); 

    if(cityID) { 

     $.ajax({ 
      url: "/pages/chain_select/get_postal_town.php", 
      dataType: 'Json', 
      data: {'id':cityID}, 
      success: function(data) { 
       $('select[name="postal_town"]').empty(); 
       $.each(data, function(key, value) { 
        $('select[name="postal_town"]').append('<option value="'+ key +'" >'+ value +'</option>'); 
       }); 
      } 
     }); 

    }else{ 
     $('select[name="postal_town"]').append('<option value="'+ key +'" >'+ value +'</option>'); 
    } 
}); 

答えて

0

私はあなたが以前cityIDを保存したい理解として、ユーザーはあなたがDBから何かを引き出したくなかったDBから引き出されたのと同じIDを選択する時期。

var cities = {};  
    $("select[name='property_city']").change(function() { 
     if(cities[$(this).val()]) { 
      cities[$(this).val()].forEach(function(key, value) { 
       $('select[name="postal_town"]').append('<option value="'+ key +'" >'+ value +'</option>'); 
      }); 
     } else { 
       $.ajax({ 
        url: "/pages/chain_select/get_postal_town.php", 
        dataType: 'Json', 
        data: {'id':cityID}, 
        success: function(data) { 
         $('select[name="postal_town"]').empty(); 
         $.each(data, function(key, value) { 
          $('select[name="postal_town"]').append('<option value="'+ key +'" >'+ value +'</option>'); 
         }); 
         cities[$(this).val()] = data; 
        } 
       }); 
      } 
     }); 
+0

あなたのefford Nurlan MirzayevのためのTHanksしかし、このコードは実際にはチェーンセレクト機能を停止しました。 – Malkoc

+0

私はあなたにAPIを呼び出すことができないので、私はそれをテストできませんでした。しかし、私はあなたがあなたのリストをいくつかのオブジェクトに保存できることを説明しようとしました。都市IDが選択されているかどうかをチェックしてから、オブジェクトからそれを出してください。 –

関連する問題