我正在使用jQuery移动选择框,它有选项。我给了一个onchange函数,一旦值被更改,函数就会被调用并显示值。但是当我选择当前选择的相同选项时,该函数没有被调用,我得到一个空页。
<select name="select-custom-20" id="select-custom-20" data-native-menu="false" onchange="teamchange();">
<option >Select a Team</option>
<option value="team1">team1</option>
<option value="team2">team2</option>
<option value="team3">team3</option>
<option value="team4">team4</option>
</select>
这是我的功能
function teamchange(){
var teamname = document.getElementById("select-custom-20").value;
alert(teamname);
}
答案 0 :(得分:0)
从技术上讲,如果选择相同的值,则不会触发更改。您可以让一个事件处理弹出窗口的关闭:
$(document).on("popupafterclose", "#select-custom-20-listbox", function(){
var teamname = $("#select-custom-20").val();
alert("On Popup Close: " + teamname);
});
jQM会自动创建一个id为selectid +&#34; -listbox&#34;的弹出窗口小部件,因此在您的示例中:select-custom-20-listbox。您可以在此动态创建的弹出窗口中为 popupafterclose 事件添加处理程序。
正在使用 DEMO
注意:如果您有一个不适合页面的长列表,jQM会创建一个对话框页面而不是弹出窗口,因此您将改为使用pagecontainer小部件事件。
答案 1 :(得分:0)
其实我找到了问题。我已经从select选项中删除了data-native-menu =“false”,现在一切正常。