jQuery Select2触发事件

时间:2016-10-26 14:00:04

标签: javascript jquery jquery-select2 select2

我正在使用Select2作为我的下拉菜单&基于AJAX的查找。

在我的首次提交表单上,我有一个select2下拉列表,名为" Type"。我有一个on事件侦听该下拉列表以进行更改,然后在发生这种情况时触发另一个函数。

$('[name=in_type]').on("select2-selecting", function(e) {

  console.log(e)

    // Define our vars
    var requestTypeID = e.val,
        requestTypeText = e.object.text;

    // Based on the type
    generateForm(requestTypeText);

});

当我将事件记录到控制台时,我看到一个名为object的对象,我可以在其中访问文本并在我的函数中使用它。 enter image description here

- 快进到我的"编辑表格"页 -

当用户回来编辑记录时,我必须设置type字段的值,然后以编程方式触发select2-selecting

我是这样做的:

$('[name=in_type]').select2('data', {id:requestObj.requestType, text:requestObj.requestTypeName});
  var evt = $.Event("select2-selecting", {
    val: requestObj.requestType, // I have also tried passing ID instead of val
    text: requestObj.requestTypeName
  });
$("[name=in_type]").trigger(evt);

当上述事件触发此功能时,没有object记录到控制台,就像我手动更改字段时一样。

我认为我试图通过的事件是不正确地包括对象还是那种性质的东西?

在编辑页面上,我可以自己点击下拉菜单,更改它并将对象记录下来。当我以编程方式触发它时,这不会发生,这使我错过了应该传递或错误地执行的操作。

enter image description here

我的问题摘要:

如何以编程方式将对象传递给select2事件,以保持与手动更改时相同的格式?

0 个答案:

没有答案