基本上,下面的函数是一个监听器,用于更改一个下拉列表的选择。我希望光标移动到页面上的下一个字段,同时执行下面的功能。我如何在Javascript中执行此操作?页面上的下一个字段是ExtJs文本框。
function changeVehicleCondition() {
var ValuationSource = getCurrentValuationSource();
var vehicleConditionId = vehiclePnl.VehicleConditions.getValue();
if (ValuationSource == 0) {
vehiclePnl.VehicleConditionId.setValue(0);
} else {
vehiclePnl.VehicleConditionId.setValue(vehicleConditionId);
}
}
编辑:focus()对我不起作用,因为我已经尝试过了:
vehiclePnl.Mileage.focus();
没有运气..
答案 0 :(得分:1)
对于ExtJs,你必须这样做:
focus( true, false );
true表示选择下一个字段中的文本,false表示是否延迟。它实际上对我不起作用,但我认为这是因为我的控件不匹配,但这就是代码。
答案 1 :(得分:0)
这不知道extjs
<select id="listen">...</select>
<input id="focus" />
<script type="text/javascript">
document.getElementById('listen').onchange = function () {
changeVehicleCondition()
document.getElementById('focus').focus()
}
</script>
脚本标记可以在选择之后的任何位置。你也可以这样做:
<select id="listen" onchange="changeVehicleCondition(); document.getElementById('focus').focus()">...</select>
<input id="focus" />
答案 2 :(得分:0)
让我们说您的表单面板被定义为变量“vehiclePnl”,而您想要关注的下一个字段具有名称属性“Mileage”。 而是使用您以前的代码
vehiclePnl.Mileage.focus();
然后你应该使用下面的代码
vehiclePnl.getForm().findField("Mileage").focus();