HTML/JavaScript 使用 JSP 和 JSTL - select 下拉列表仅显示 iphone 上的第一个选项而不是 selected 选项

HTML/JavaScript using JSP and JSTL - select dropdown only showing first option on iphone instead of selected option

我的 html 中有一个 <select> 元素:

<select id="mySelect">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
</select>

我在后端使用 JSP/JSTL,当页面加载时,我想根据从后端获取的页面属性动态地 select 这些选项之一。换句话说,在 JavaScript/jQuery:

$(document).ready(function() {
    $("#mySelect").find("option[val=${Var}]").prop("selected", true);
});

理想情况下,当页面加载时,<select> 元素应该显示在屏幕上 selected 的选项(例如,如果 ${Var} 是 4,它应该默认显示 4 , 并允许用户使用 select 任何其他选项的下拉菜单。这在我的浏览器和 Android 设备上工作正常,但在我的 iPhone 5S 上测试时, <select> 显示第一个选项,而不是页面加载时 selected 的选项(值为 ${Var} 的选项)。

关于如何确保它显示正确的 selected 值的任何提示?

你可以这样做,当你的页面加载时,它会执行这个 javascript:

var test = '<%= request.getAttribute("var") %>';

这里的 var "test" 将包含您在名为 "var" 的 servlet 中设置的属性。

然后为了让事情更简单,我在这个例子中使用 jquery,你可以将你的下拉值设置为 var。 (但您必须确保下拉列表 select 的值带有变量 var。)如果 var == 4 则它将在加载时将下拉列表 select 设置为值 4。

 $("#mySelect").val(test);