2

(まだ) 開発中のアプリがあり、JavaScript で選択リストの選択肢を保存する方法について最近質問しました。それ以来、コードに使用している jQuery の拡張機能である jStorage を紹介されました。代わりに、選択した値を jStorage にもっと簡単に保存できるかどうか疑問に思っていましたか? 私の選択リストの HTML コードは次のとおりです。

<select name = 'job' id = 'job' style = 'width: auto; background-color: #777; color: white; font-size: 20px; border-color: #AAA;'>
 <option value = 'jobselect'>Select Profession</option>
 <option value = 'job1'>Mechanical Engineer</option>
 <option value = 'job2'>Software Engineer</option>
 <option value = 'jobother'>Other</option>
</select>

選択した値を保存するために、これを JavaScript ファイルに入れました。

document.addEventListener('DOMContentLoaded', function ListChoice() {

    var input1 = document.getElementById('job');

    if (localStorage['job']) {  
        input1.value = localStorage['job'];
    }

    input1.onchange = function() {  
        localStorage['job'] = this.value;
    }

});

JS ファイルにloadSettingssaveSettingsという 2 つの関数があります。上記のコードを変更して、リストの選択した値を関数の jStorage に保存する方法はありますか?? jStorageに保存する方が簡単かどうか疑問に思っています。よろしくお願いしますxx

4

1 に答える 1

0

注意: http://garlicjs.org/のようなものは、問題への近道かもしれません。

これが役立つかどうかはわかりませんが、次のようなもので jstorage を設定できます (フォーム全体をシリアル化するだけです)。

$.jStorage.set('jobValues', $('#job').serializeArray());

次に、次のような方法で配列を反復処理する必要があります。

        var currentStorage = $.jStorage.get('jobValues');
        if (currentStorage) {
            $.each(currentStorage, function(position,object){
                $("input[name='"+object['name']+"']").prop('value', object['value']);               
            });
        }
于 2012-11-11T20:15:57.600 に答える