2016-04-29 21 views
1

激活我有像這樣一個選擇框:JS:onChange事件在啓動時

<select id="param2" name="param2" onchange="reload();"> 
<option value="sth">sth</option> 
<option value="sth2">sth2</option> 
</select> 

的「的onchange」事件在啓動時被激活,當我加載文件 - 但我想該事件僅當激活我的選擇框項目已更改。我該怎麼做,或者我做錯了什麼...?如果可以提供幫助,「重新加載」功能位於文件的頂部。提前致謝。

編輯:我使用Firefox版本45 & JQuery 1.7。 這裏是JS代碼,只是顯示現在值:

<script> 
function reload() { 
    var v1 = document.getElementById('param1').value;var v2 = document.getElementById('param2').value; 
    alert(v1 + " "+ v2);} 
</script> 

EDIT2:我發現了什麼。不知何故,與下面的代碼有衝突。首先,我會嘗試自己管理它。

<script> 
    $(function() { 
    $('select#param1').listbox(); 
    $('select#param2').listbox(); 
    }); 
</script> 
+0

'onchange'在頁面重新加載時不會觸發。如果你看到這種行爲,還有其他事情正在發生。你使用的是什麼瀏覽器?什麼版本?你的javascript看起來像什麼?你在使用jQuery嗎?需要看到更多。 – mariocatch

+0

@mariocatch感謝您的回答。上面增加了更多細節。 –

+0

你可以測試[這個Plunker](http://plnkr.co/edit/kR9RRXeWR3o9T5yPyDp4?p=preview)並嘗試重現你在那裏看到的問題?使用相同的代碼,並使用相同版本的jQuery(我把1.7放在Plunker中) – mariocatch

回答

0

不確定爲什麼onchange在您的情況下觸發,它不應該在默認情況下觸發。你可以簡單地通過綁定修復onchange事件加載

<script src="path to your jquery"/> 
<script> 
    $(function(){ 
     // will be run after html document has been loaded. 
     $('#param2').on('change', function(){ 
      reload(); 
     }); 
    }); 
<script> 

問題更新後添加的頁面後,

<script> 
$(function() { 
    $('select#param1').listbox(); 
    $('select#param2').listbox(); 
    $('#param2').on('change', function(){ 
     reload(); 
    }); 
}); 
</script> 
+0

謝謝你的回答,我理解綁定事件的想法,但我不明白我該如何使用這個代碼,以及我在哪裏必須把它。 –

0

將下面的代碼在你的<script></script>標籤

$(document).ready(function() { 

    $('#param2').on('change', function(){ 
     reload(); 
     }); 
}); 

而且變化之間你的HTML刪除那裏的onchange表格

<select id="param2" name="param2"> 
<option value="sth">sth</option> 
<option value="sth2">sth2</option> 
</select> 
相關問題