3

次の選択オプションコードがあります

<select id="test" onchange="changeContent()">
<option>1</option>
<option>2</option>
<option>3</option>
</select>

JavaScriptコードは

function changeContent()
{
    document.getElementById('test').options[0].text = 'ONE';
}

ページを更新するとオプション値が変更され、古いページに戻りました。オプション値を永続的に変更するにはどうすればよいですか。

<select id="test" onchange="changeContent()">
<option>ONE</option>
<option>2</option>
<option>3</option>
</select>
4

2 に答える 2

2

あなたのコメントから、.php ファイルを使用していると思います<select>。それをfile.phpと呼びましょう

file.php には、次のようなものがあります: (私はこれをテストしていませんが、必要なものの良いスタートだと思います)

<?php
session_start();
$value1 = 1; $value2 = 2; $value3 = 3;
$_SESSION["value1"] = 1;$_SESSION["value2"] = 2;$_SESSION["value3"] = 3;
if ($_POST['value'] == 1) {$_SESSION["value1"] = 'One';}
if ($_POST['value'] == 2) {$_SESSION["value2"] = 'Two';}
if ($_POST['value'] == 3) {$_SESSION["value3"] = 'Three';}
?>


<select id="test" onchange="changeContent()">
<option value="1"><?php echo $_SESSION["value1"]; ?></option>
<option value="2"><?php echo $_SESSION["value2"]; ?></option>
<option value="3"><?php echo $_SESSION["value3"]; ?></option>
</select>


<script type="text/javascript">
window.onload = function() {
function changeContent(){
var e = document.getElementById("test");
var newval = e.options[e.selectedIndex].value;
xmlhttp.open("POST","file.php",true);
xmlhttp.send("value="+newval);
}
};
</script>

これは、更新後に利用できるようにするだけです。データベースに保存する場合は、少し異なります。次に、あなたが持っているものからさらに情報/コードが必要です.

于 2013-07-02T07:30:26.280 に答える
1

JavaScript を使用して値を変更することはできず、それが永続的であると期待できません。変更時にリクエストを送信し、ajax次回は変更された値でレンダリングすることをお勧めします

于 2013-07-02T07:41:05.897 に答える