1

リセット後にrrpmaxを3000に設定するコードを書こうとしています。IEでは問題ありませんが、FirefoxとChromeでは機能しません。

    <html>
<head>
<script type="text/javascript">
function formReset()
{
var fields = document.getElementsByTagName( "input" );
for ( i = 0; i < fields.length; i++ )
{
if ( fields[ i ].type == "checkbox" )
fields[ i ].checked = false;
}
document.getElementById( 'rrpmax' ).selectedIndex = 3;
}
</script>
</head>
<body>
<input type="button" value="reset" onclick="formReset()"/>
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<select id="rrpmax">
<option>1000</option>
<option>2000</option>
<option>3000</option>
</select>
</body>
</html>
4

4 に答える 4

1

これは一般的なエラーです

1)最初に、インデックスはゼロから始まります。 index 2

2)ブラウザの互換性のために2番目であり、JavaScriptでの適切な使用を忘れた場合は、selectの名前と値を設定します。

<select name="rrpmax" id="rrpmax">
<option value="1000">1000</option>
<option value="2000">2000</option>
<option value="3000">3000</option>
</select>

3)使用できます

document.getElementById( 'rrpmax' ).value='3000';
于 2012-06-26T10:06:40.757 に答える
0

オプションに値を与えるようにしてください

<select id="rrpmax">
    <option value="1000">1000</option>
    <option value="2000">2000</option>
    <option value="3000">3000</option>
</select>

そして、selectのattr値を編集するには

document.getElementById('rrpmax').value = 3000;
于 2012-06-26T10:06:23.293 に答える
0

selected引数 を追加できますhttp://www.w3schools.com/tags/att_option_selected.asp

于 2012-06-26T10:07:19.703 に答える
0

reset提供されているフォームの機能を使用するのはどうですか?
javascriptを使用せずに

<form>
    <input type="reset" value="reset"/>
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="checkbox" />
    <select id="rrpmax">
        <option>1000</option>
        <option>2000</option>
        <option selected>3000</option>
    </select>
</form>

http://jsfiddle.net/P6RR6/でのデモ

于 2012-06-26T10:09:35.010 に答える