在我的网页中我使用类似的东西。但是当选择一个选项时,onchange不会被触发。我不知道我在哪里做错了。实际上我的要求是我需要根据所选城市获取位置详细信息但是没有在这里工作。还有其他更好的办法吗???
@Html.DropDownList("cities", ViewBag.cities as SelectList, new { onselect = "getLoca();"});
<script type="text/javascript">
function getLoca() {
alert("yes");
$.post('@Url.Action("getLocations","Home")', { 'id': $("#cities").val() },
function (data) {
$("#loca").html(data).show();
});
}
</script>
提前谢谢
编辑: 这是生成的HTML代码
<select id="cities" name="cities" onselect="getLoca()"><option value="0">--City-- </option>
<option value="1">City1</option>
<option value="2">City2</option>
<option value="3">City3</option>
<option value="4">City4</option>
<option value="5">City5</option>
</select>;
<select id="loca" name="loca" style="width: 170px" ></select>
答案 0 :(得分:1)
使用onchange
代替onselect
。
onselect
没有达到你所期望的效果 - 当用户选择文字时(你知道,通过拖动鼠标或按住shift并使用箭头按钮)它会触发,因此它不适用于{{1 }}框,没有可选文本。它适用于某些select
元素(例如input
)和text
,或者您可以在window
上使用它。
textarea
会触发 - 所以这就是你需要的。
注意:在大多数情况下,在HTML中使用内联事件处理程序并不是一个好主意。如果可以,use addEventListener
instead。