2016-11-22 3 views
0

JSONデータから動的に取り込まれる次のドロップダウンリストコードがあります。私はhtml5のセッションの格納場所に日付を格納しています。私は覚えて、 "選択"されたドロップダウンリストの最後の項目を表示する必要があります。ユーザーは、私はそれを覚えていて、最後の項目を表示したい <option value="Albania" selected>Albania</option>として表示するのlocalStorage値に基づいて、「アルバニア」 選択した場合JSONドロップダウンボックスで選択された最後の状態を表示するJqueryとhtml5セッションの記憶

は、現在、それは例えば、単に<option value="">Select Country</option>

<select name="country" class="dropdownselect" > 
     <option value="">Select Country</option> 
      <option value="Afghanistan" selected="selected">Afghanistan</option> 
      <option value="Albania">Albania</option> 
      <option value="Algeria">Algeria</option> 
      .... 
      ...... 
    </select> 

として誤って表示します最後に選択した項目が表示されている限り、ユーザーがページに戻ったときに選択されます。

JS // THIS動的 AJAXサービスの国のドロップダウンリストを読み込む

window.getCountry = function(URL) {  
     var country =URL +"/services/GetCountry"; 
     console.log("country " +country); 
     $.ajax({ 
      url: country, 
      dataType: "json", 
      cache: false, 
      success: function(data, textStatus, jqXHR) { 

       $('#country').empty(); 
       $('#country').append($('<option>').text("-Select Country-").attr('value', ''));  
       jQuery.each(data, function(k,v) { 

    $('#country').append($('<option>').text(v.nameName).attr('value', v.countryFullname)); 

       });  
     }, 
      error: function(jqXHR, textStatus, errorThrown) { 
       console.log('FAILED to get JSON from AJAX call' + jqXHR + textStatus + errorThrown); 

      } 
     });  

     } 

    $(document).ready(function() { 
     var item = window.localStorage.getItem('country'); 
     console.log("item "+ item); 
     $('select[name=country]').val(item); 

     $('select[name=country]').change(function() { 
      window.localStorage.setItem('country', $(this).val()); 
      console.log("item "+ item); 



     }); 

     getCountry(some url);//this create the dropw down list dynamically 

    }); 

HTMLこれは、動的に関係なく、私は最後を選択するものではありません

問題から読み込まれますBIT-選択した国としては常に「国選択」と表示されます。助けてもらえますか?

+2

問題は何を使用してみてください?これはうまくいくようです。 – TheValyreanGroup

+0

@TheValyreanGroup選択項目を動的に項目に追加する必要があります。現在選択されている項目に選択項目を追加していません – user244394

+0

なぜ項目に「選択済み」が必要ですか?これは1つの選択肢です。今までに選択されたものがその値です。そして、それは動作します。 – TheValyreanGroup

答えて

1

.prop()方法代わりに

var item = 'Albania'; 
 
$('select[name="country"] option[value="' + item + '"]').prop('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="country" class="dropdownselect" > 
 
    <option value="">Select Country</option> 
 
    <option value="Afghanistan">Afghanistan</option> 
 
    <option value="Albania">Albania</option> 
 
    <option value="Algeria">Algeria</option> 
 
</select>

+0

ありがとうございます。何らかの理由で最後に選択した項目が表示されることはありません。常に「国の選択」として表示されます。 :( – user244394

関連する問題