我有一个带有 3 个输入的模态表单。前两个是小时,我需要在第一个更改时更新第二个小时的值。
我已成功将 Stimulus 控制器连接到表单,并且可以在控制台中显示它。这是我的控制器代码:
import { Controller } from "stimulus"
export default class extends Controller {
static targets = [ 'hour_start', 'hour_finish' ];
connect() {
console.log(this.hour_startTarget);
}
update() {
alert('Changed');
}
}
连接工作正常并在控制台上打印:
<input class="form-control string required form-control datetimepicker" data-target="dtpicker.hour_start" data-action="change->dtpicker#update" required="required" aria-required="true" type="text" name="order[hour_start]" id="order_hour_start">
但是当我改变这个输入的值时,警报没有弹出......
我还尝试忽略更改,因为它是输入的默认操作,但警报仍然没有出现。
并且还尝试在 js 上使用普通的事件监听器,如下所示:
const handleHourStart = () => {
let hourStart = document.getElementById('order_hour_start');
hourStart.addEventListener('change', () => {
alert('Changed');
})
}
但还是不行。奇怪的是,点击事件的行为符合我的预期,但变化并没有......
有任何想法吗?