以编程方式更改元素值javascript

programmatically change element value javascript

本文关键字:javascript 元素 编程 方式更      更新时间:2023-09-26

我想在以编程方式更改select的值后,将currentTarget传递给函数。

这可能吗?类似

$('input[name="client_id"]').val(model.get('id')) //Change the value of select
this.doSave( $('input[name="client_id"]')); //Do save expects event(e) as parameter
function doSave(event){
    console.log($(event.currentTarget);
}

我已经大大简化了这一点,基本上我是在以编程方式更改一个选择,然后想要触发我的保存事件,该事件通常在更改事件时触发,因此将事件作为参数,但我所拥有的只是DOM元素?有没有办法给它发送一个事件?

使用如下更改事件处理程序:

$('input[name="client_id"]').on('change', function(event) {
   console.log($(event.currentTarget);
});

$('input[name="client_id"]').on('change', doSave);
function doSave(event){
    console.log($(event.currentTarget);
}

首先,这个

$('input[name="client_id"]')

显然改变了输入的值而不是选择。

这个

$('select[name="client_id"]').val(model.get('id'))

更改选择中的选定选项。

您可以将更改事件绑定到类似的选择上

$('select').change(function(event){
    //use event here 
    //or pass to doSave(event)
});

当调用时会被触发

$('input[name="client_id"]').change();