その HTML ファイルの {$test}
には、何かしらの方法(テンプレートエンジンとか)で PHP の $this->test
で置換されるということですね?
つまり、出力される HTML は次のようなもので、
<input type="hidden" id="test" value="2015">
<select name="test">
<option value"2011" selected>2011</option>
<option value"2012">2012</option>
<option value"2013">2013</option>
<option value"2014">2014</option>
<option value"2015">2015</option>
</select>
ページの表示時にセレクトボックスの 2015 を選択したい、ということですね?
まず、html がおかしいです、value の右に =
がたりません。
<input type="hidden" id="test" value="2015">
<select name="test">
<option value="2011" selected>2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
</select>
あとは、javascript で次のようにすれば、ページの表示時に hidden の value の値が選択されます。
window.addEventListener('load', function(){
var val = document.getElementById('test').value;
var elem = document.querySelector('option[value="'+val+'"]');
elem.selected = true;
}, false)
もしくは、querySelector
が使えなかった頃は次のようにしていました。
window.addEventListener('load', function(){
var val = document.getElementById('test').value;
var select = document.getElementsByName('test')[0];
var options = select.getElementsByTagName('option');
for (var i=0; i<options.length; i++) {
if (options[i].value === val) {
options[i].selected = true;
break;
}
}
}, false)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。