【JS】 select 下拉框 绑定onchange事件

select 下拉框 绑定onchange事件未改变

实现:下拉选择,类型改变对应显示或者隐藏一些标签,绑定onchange事件后,发现有时候需要点击多次,下拉选项才改变,有时候绑定值未改变,导致提交错误;
	<select v-model="type" οnchange="hideLabel(value)">
		<option value="1">类型1</option>
		<option value="2">类型2</option>
		<option value="3">类型3</option>
		<option value="4">类型4</option>
		</select>
	function hideLabel(value) {

    if (value == '1' || value == '2') {
        vm.amountTitle = "金额";
        // 当type为1 、2,隐藏标签
        $("#form-maxAmount").hide();
        vm.maxAmount = 0.00;
    } else {
        // 当类型为3 、4是表示最小金额,form-maxAmout 展示
        vm.amountTitle = "最小金额";
        $("#form-maxAmount").show();
    }
    if (value == '2' || value == '4') {
        $("#form-thAmount").show();
    } else {
        $("#form-thAmount").hide()
        vm.thAmount = 0.00;
    }
}

解决: 将onchnage事件改为onclick点击事件;

	<select v-model="type" οnclick="hideLabel(value)">
		<option value="1">类型1</option>
		<option value="2">类型2</option>
		<option value="3">类型3</option>
		<option value="4">类型4</option>
		</select>

2、js原生change事件

$("#hideChange").change(function (){
   hideLabel(vm.type);
   alert(this.value());
});

原因:网上查询说 onchange事件在内容改变(两次内容有可能还是相等的)且失去焦点时触发

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值