gpt4 book ai didi

jquery - 无法触发绑定(bind)事件

转载 作者:行者123 更新时间:2023-12-01 04:37:06 25 4
gpt4 key购买 nike

我不明白为什么在多次尝试不同的方式后没有触发这个事件。我想要的只是通过下拉菜单类别名称将我的事件与第一个输入文本框的值的更改绑定(bind)。意味着当我从“类别列表”中选择“A或B或C”时,该选项将更新为“第一个输入”,并且该事件将通过“第一个输入”的值的变化来触发。

但是我被卡住了,只有当我在“第一次输入”的文本字段上按某个键时才可以,但这不是我的要求。我的JSFIDDLE在这里,下面给出了这段代码。

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> </head>
<body>
<div class="col-md-3">
<label>CategoryName</label>
<select class="form-control" name="cat_id" id="cat_id">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
</div>
<div class="col-md-4">
FIRST Input<input type="text" name="take" id="take" class="form-control" placeholder="Take Value" />
</div>
<div class="col-md-4">
Give Output<input type="text" name="give" id="give" class="form-control" placeholder="Give Value" />
</div>
<script>
$(document).ready(function(){
$(function(){
$('body').on('click','#cat_id',function(){

var s =$('#cat_id').val();
var n = s.lastIndexOf(",");
var s2 = s.substring(n + 1);
$('#take').val(s2);
})
});
$('#take').bind('input selectionchange propertychange',function(){ alert($('#take').val());
});
});
</script>

最佳答案

首先,bind 已被弃用,我怀疑您使用它只是因为您无法on 工作。您无法使其工作的原因是 change 事件不会仅仅因为在框中进行更改而触发。它仅在框失去焦点后触发。

因此,如果您以编程方式更改框中的值,则 change 事件根本不会触发,因为它从一开始就没有焦点。

获得您想要的内容的方法是以编程方式触发更改事件,如下所示(我继续将您的 bind 替换为 on,并更改了您的 click 事件应为 change 事件):

        $(document).ready(function() {
$(function() {
$('#cat_id').on('change', function() {

var s = $('#cat_id').val();
var n = s.lastIndexOf(",");
var s2 = s.substring(n + 1);

$('#take').val(s2).trigger('change');
})
});

$('#take').on('change', function(e) {
$('#give').val($('#take').val());

});

});

要更清楚地了解 change 事件的工作原理,请查看 this example .

关于jquery - 无法触发绑定(bind)事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49594032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com