1
<div class="formfield ship">
    <input type="radio" class="ship1" name="1" >1</input>
    <input type="radio" class="ship2" name="1" >2</input>
    <input type="radio" class="ship3" name="1" >3</input>
    <div class="clear"><!-- FLOAT CLEAR --></div>
</div>

ラジオボタンがあります。1つはデフォルト値である必要があります。1つを選択して送信し、ページに戻ると、値を保持する必要があります。

どうすればいいですか?

4

3 に答える 3

1

これはあなたが望むことをします-あなたはあなたのhtmlを少し修正する必要がありますが(私は有効ではないと思い<input></input>ます)

http://jsfiddle.net/malet/dvCpj/6/

$("input[type=radio]").each(function(){
    $(this).click(function(){     
        createCookie($(this).attr("name"), $($(this).siblings()[0]).html(),1);       
    });
});


$(document).ready(function(){
    $("input[type=radio]").each(function(){
        var selected = readCookie($(this).attr("name"));
        if(selected != null){
            if($($(this).siblings()[0]).html() == selected){
                $(this).attr("checked","checked");
            }                    
        }    
    });
});


function createCookie(name,value,days) {
    if (days) {
            var date = new Date();
            date.setTime(date.getTime()+(days*24*60*60*1000));
            var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    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,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}
​
于 2012-04-20T16:19:10.090 に答える
0

基本的に、これを行うには2つの方法があります。

  1. クッキー
  2. php、aspなどのサーバー側言語

いずれにせよ、重要な点は、無線要素のデフォルト値を変更する必要があるということです。サーバーサイドスクリプトを使用して新しいデフォルトを指定するか、Cookie を使用して新しいデフォルトを取得できます。

于 2012-04-20T16:24:51.863 に答える
0

クライアント側では、Cookie を使用して情報を保存する必要があります。サーバー側では、セッション変数を使用できます。

環境にもよりますが、基本的にはユーザーが送信した内容を保存し、フォーム出力時にその値を確認しています。

于 2012-04-20T16:06:16.527 に答える