質問する
808 次
2 に答える
0
selectedIndex (または値) をインターセプトし、独自のコードで関数を呼び出す必要があります。
function arteAluno (sel) {
var url = sel[sel.selectedIndex].value;
if(url=='loadImage();') {
loadImage();
return;
}
window.location = url;
}
于 2012-11-05T19:33:30.097 に答える
0
すでに jQuery を使用しているため、ここでのすべてに jQuery を使用することもできます。URL の 1 つが選択された場合に設定し、それ以外の場合は関数 を実行する.change()
ハンドラーを1 つバインドするだけで済みます。window.location
loadImage()
loadImage()
値で関数名を呼び出すのではなく<option>
(奇妙に見えます)、以下で特別な値に置き換えましたvalue='load_image'
。ハンドラーはその.change()
値を探し、見つかった場合は関数を実行します。
<select id="alunos">
<option selected="selected"></option>
<!-- Special value rather than function name here -->
<option value="load_image">Aluno 1</option>
<!-- URL values -->
<option value="../Index.html">Aluno 2</option>
<option value="../Index.html">Aluno 3</option>
</select>
そしてjQuery:
$(document).ready(function() {
// Bind the onchange event for select#alunos
$('#alunos').change(function() {
// If the load_image option was selected, call the loadImage() function
if ($(this).val() == 'load_image') {
loadImage();
}
// Otherwise, load the URL
else {
// Unless the blank option is selected...
if ($(this).val() !== '') {
window.location = $(this).val();
}
}
});
});
// Can replace with all jQuery (since you are using it anyway)
function loadImage(){
$('#arte').css('backgroundImage', 'url(aikido.jpg)');
$('#arte').css('width', '200px');
$('#arte').css('height', '160px');
}
于 2012-11-05T19:35:01.783 に答える