Javascript 选择2当选择其他选项时删除默认选项
我希望有一个默认选项充当占位符 我正在用ajax搜索产品。我希望我的输入框显示全部,直到我选择了一个产品 这将是默认视图: 但是,一旦我选择了一个产品,我希望所有的东西都消失,只有产品显示: 我已经组装了一个密码笔,希望能让事情顺利进行 谢谢大家! HTML: 我们可以使用本机select元素的change事件及其作用域版本change.select2 在元素上添加select2插件时,只要选择或删除某个选项,就会触发更改事件 因此,当从异步列表中添加一个选项时,我们应该删除all选项。 此外,当删除所有选项时,select没有任何值,我们应该重新添加all选项。 但是我们需要将更改通知select2,因此我们触发change.select2事件 完整代码为: 在“更改”功能上选择2 Instance{ 常量值=$this.val; 如果值.length>1{ const index=value.indexOf'all'; 如果索引>-1{ 价值指数,1; $this.valvalues; } }如果values.length==0,则为else{ $this.val'all'; } $this.trigger'change.select2';//仅通知select2更改; }; 代码笔演示: 有关Select2活动的更多信息:Javascript 选择2当选择其他选项时删除默认选项,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我希望有一个默认选项充当占位符 我正在用ajax搜索产品。我希望我的输入框显示全部,直到我选择了一个产品 这将是默认视图: 但是,一旦我选择了一个产品,我希望所有的东西都消失,只有产品显示: 我已经组装了一个密码笔,希望能让事情顺利进行 谢谢大家! HTML: 我们可以使用本机select元素的change事件及其作用域版本change.select2 在元素上添加select2插件时,只要选择或删除某个选项,就会触发更改事件 因此,当从异步列表中添加一个选项时,我们应该删除all选项。 此外
你的产品是多选的吗?这正是我想要做的!非常感谢你!嘿,我不知道我能不能麻烦你,让我改变一下实现这一目标的方式?我以前在标记中有All选项,但似乎我需要通过JS添加它。我用叉子叉了你的笔:非常感谢你朝正确的方向推动!我将努力实施它。但是,您是否希望“所有选项”也显示在搜索结果列表中?还是像以前一样?这支笔对你有用吗。var allOptionData={id:'all',text:'all'};var allOption=new OptionallOptionData.text,allOptionData.id,true,true;jQuery'choices multiple default'。appendallOption.trigger'change';对就是这样!非常感谢您抽出时间,您真慷慨。非常感谢。非常感谢。
<div class="container">
<select class="form-control am-product-selector__product-list-select" name="choices-multiple-default" id="choices-multiple-default" placeholder="All Products" multiple>
<option value="All" selected>All</option>
</select>
</div>
const options = [{ id: 1, text: 'All' }];
const select2Instance = jQuery( '#choices-multiple-default' ).select2( {
placeholder: 'Search products',
ajax: {
url: url,
dataType: 'json',
delay: 250,
data: params => {
return {
//term: params.term // search query
};
},
// Process fetched results
processResults: data => {
if ( data ) {
data.map( item => {
options.push( { id: item.id, text: item.title } );
} );
}
return {
results: options
};
},
cache: true
},
minimumInputLength: 3 // the minimum of symbols to input before perform a search
} );