2015-09-08 4 views
0

Я создал функцию с javascript, которая может добавить опцию при вводе select, если она не существует, выбрав другой вариант, но после обновления добавлена ​​опция, я хочу сохранить ее после обновления, но i не знаю, как это сделать, если кто-нибудь может помочь, я буду очень благодарен.save option in input select after refresh

+1

Пожалуйста, вы можете предоставить некоторый код, который показывает, что у вас есть до сих пор? Таким образом, качество предлагаемой помощи, скорее всего, будет лучше :) – ne1410s

+0

Благодарим за разъяснение. Я поставил код ниже с ответами – kimihi

ответ

0

Это невозможно без наличия каких-либо бэкэнд, которые могут сохранить ваш вариант где-нибудь и заполнить список избранных последними из этих сохраненных параметров.

Для этого вам нужно заполнить свой вариант выбора из массива или что-то подобное. Затем, когда вы добавляете опцию в свой поле выбора с помощью jquery, вы должны обновить массив. После обновления вы получите новую опцию.

0

Вы также можете использовать localStorage. Когда вы заполняете ввод, сохраните его. И когда вы собираетесь сделать ввод, проверьте LocalStorage есть данные, и предварительно заполнить его

0

Вы можете использовать куки, чтобы сохранить значение затем повторно заполнить на обновления

угловыми

angular.module('ddlChoiceExample', ['ngCookies']) 
.controller('ExampleController', ['$cookies', function($cookies) { 
    // Retrieving a cookie 
    var ddlChoice= $cookies.get('ddlChoice'); 
    // Setting a cookie 
    $cookies.put('ddlChoice', 'Option1'); 
}]); 

Или в JS

function getCookie(cname) { 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0; i<ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1); 
     if (c.indexOf(name) == 0) return c.substring(name.length,c.length); 
    } 
    return ""; 
} 

function setCookie(cname, cvalue, exdays) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires="+d.toUTCString(); 
    document.cookie = cname + "=" + cvalue + "; " + expires; 
} 
+0

вы можете проверить мой код в ансерах – kimihi

0

вот моя функция, чтобы добавить вариант выбрать:

 <script type="text/JavaScript"> function AjoutOptionAuSelect(this_select) { 
if (this_select.value == "autreVille") 
{ 
    var saisie; 
    var pass = false; 
    do 
    { 
    if (pass) alert("La valeur est incorrecte. Elle ne doit comporter que des lettres."); 

    saisie = prompt("Entrer la nouvelle valeur :"); 

    if (saisie == null) return false; 
    pass = true; 
    } 
    while (saisie.match(/[^a-z^éèàç]/i) && saisie != "") 

    this_select.options[this_select.length] = new Option(saisie, saisie, true, true); 

    for (var i=0; i < this_select.options.length; i++) 
    { 
    if (this_select.options[i].value == saisie) 
    { 
     this_select.options[i].selected = true; 

    } 
    } 
} }</script> 

и выбор входа:

 <?= $this->Form->input('ville', 
     array(
     'label'=> false, 
     'options' => array('Casablanca'=>'Casablanca','Rabat'=>'Rabat', 'Fès'=>'Fès','Tanger'=>'Tanger','Marrakech'=>'Marrakech', 
     'Essaouira'=>'Essaouira','autreVille'=> 'autreVille'), 
     'class' => 'form-control ', 
     'id'=>'ville', 
     'onChange'=> "AjoutOptionAuSelect(this);" 
    ) 
    ); ?>