【问题标题】:Select2: Getting ajax data attributes from selected valueSelect2:从选定的值中获取 ajax 数据属性
【发布时间】:2015-11-25 06:36:39
【问题描述】:

我正在使用 Select2 4.0,因为代码更新破坏了一些现有代码:

数据通过如下结构的 AJAX 数组加载

['id':1,'text':'hello-world','artefact_type'=>'CONTACT'], ['id':2,'text':'test','artefact_type'=>'ORGANISATION'],

插件配置如下:

...
ajax: [
           'url' => $url,
           'dataType': 'json',
           'data' :'function(params) { return {q:params.term}; }',
           'processResults':'function(out) {console.log(out.results); return {results:out.results}; }',
      ],

templateResult: 'function(data) {
        return data.text+" - "+data.artefact_type;
}'
...  

AJAX 正在正确加载,因为模板结果同时显示了文本和 artefact_type。

现在我尝试实现更改功能

function (e) {

  element  =  $("#quick-search");
  alert(element.val()+'++'+ e.val());
  artefact_type = ??;

if (data != "") {

    var url = "";
    if (artefact_type == "CONTACT") {
        url = "/xrm/contact/detail?id=" + element.val();
    }
    if (artefact_type == "ORGANIZATION") {
        url = "/xrm/organization/detail?id=" + element.val();
    }
    if (artefact_type == "COMMITTEE") {
        url = "/xrm/committee/detail?id=" + element.val();
    }
    $(location).attr('href', url);
}
else
{
    $("#test").html("Please select a sector operator...");
}

}

以前我可以通过 element.selected.artefact_type 来实现这一点。 如何获得与所选值对应的 artefact_type? 我还不确定是否真的创建了数据属性。

请帮忙! 谢谢

【问题讨论】:

    标签: jquery ajax


    【解决方案1】:

    使用 $("#quick-search").select2('data')[0]; 解决了它;

    第二天又问了同样的问题:

    Adding "data-" attributes with select2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      相关资源
      最近更新 更多