jquery – select2:以编程方式控制占位符

前端之家收集整理的这篇文章主要介绍了jquery – select2:以编程方式控制占位符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在事件上更改select2增强控件上的占位符.

所以我有这个…

<select id="myFoo" placeholder="Fight some foo...">

…然后增强:

init: function(){
   $('#myFoo').select2();
},

所以现在它有正确的占位符.

但是,我想让它对一个事件做出反应并清除占位符…

someButtonPress: function(){
//   $('#myFoo').placeholder("");
//   $('#myFoo').attr('placeholder',"");
//   $('#myFoo').select2('placeholder',"");
//   $('#myFoo').select2({placeholder:""});
//   none of these work
}

这似乎是基本的,但我被困了.

我在文档中找不到任何东西.我在错误的地方看吗?

解决方法

更新

如果您通过HTML数据占位符属性设置占位符,则需要更改它,而不是内部选项,因此它将如Fabian H.所示:

$select.attr("data-placeholder","New placeholder text");
$select.data("select2").setPlaceholder();

或者如果没有,请使用内部选项select2.opts.placeholder:

var select2 = $select.data("select2");
select2.opts.placeholder = "New placeholder text";
select2.setPlaceholder();

这不是完美的,但是比黑客select2生成的HTML更好.

>这个$select.data(“select2”)可以获得内部的select2对象,所以你可以访问它的属性方法(不仅仅是从外面导出的那些)
>接下来我正在更新占位符内部选项或更改相关的数据属性
>最后我触发内置方法setPlaceholder设置新的挂钩.

希望有帮助!

猜你在找的jQuery相关文章