如何用js清除tokenfield

Posted

技术标签:

【中文标题】如何用js清除tokenfield【英文标题】:how to clear tokenfield with js 【发布时间】:2021-05-01 08:39:21 【问题描述】:

我想为 jquery 令牌字段制作一个重置按钮,但不知道如何重置它。

HTML

<input type="text" class="input" name="testtokenfield" id="testtokenfield" placeholder="testtokenfield" value="">
<button onclick ="clear()"></button>

JS

$('#testtokenfield').tokenfield(
        showAutocompleteOnFocus: true
); 
function clear()
     document.getElementById('testtokenfield').value = "";

【问题讨论】:

【参考方案1】:

你不能这样做:

$('#testtokenfield').tokenfield('destroy');

参考:Tokenfield for Bootstrap。

【讨论】:

这将破坏整个 tokenField 输入并将其变成简单输入,【参考方案2】:

使用setToken 方法将空数组传递给您的输入

$('#testtokenfield').tokenfield('setTokens', []);

请参阅下面的工作 sn-p :

$(function() 
  $('#testtokenfield').tokenfield(
    autocomplete: 
      source: ['red', 'blue', 'green', 'yellow', 'violet', 'brown', 'purple', 'black', 'white'],
      delay: 100
    ,
    showAutocompleteOnFocus: true
  );

 $("#btn").on("click", function(e) 
 
  $('#testtokenfield').tokenfield('setTokens', []);
 );
);
body 
  padding: 5px;
<link href="http://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script src="http://sliptree.github.io/bootstrap-tokenfield/docs-assets/js/typeahead.bundle.min.js"></script>
<script src="http://sliptree.github.io/bootstrap-tokenfield/dist/bootstrap-tokenfield.js"></script>
<script src="http://sliptree.github.io/bootstrap-tokenfield/dist/bootstrap-tokenfield.js"></script>
<script
  src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
  integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
  crossorigin="anonymous"></script>
<link href="http://sliptree.github.io/bootstrap-tokenfield/dist/css/bootstrap-tokenfield.css" rel="stylesheet"/>
<link href="http://sliptree.github.io/bootstrap-tokenfield/dist/css/tokenfield-typeahead.css" rel="stylesheet"/>
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>




<input type="text" class="input" name="testtokenfield" id="testtokenfield" placeholder="" value="">
<br>
<button class="btn btn-success" id="btn">clear</button>

【讨论】:

【参考方案3】:
<input type="text" class="input" name="testtokenfield" id="testtokenfield" placeholder="testtokenfield"/>
<button id='clearbtn'>Clear</button>
    
const testtokenfield= document.getElementById("testtokenfield");        
const clearbtn= document.getElementById("clearbtn");

clearbtn.addEventListener('click', ()=>
                // clearing the input field
                testtokenfield.value = " ";
            )

我们需要将点击事件附加到清除按钮元素并将 testtokenfield.value 属性设置为空字符串“”。这样当用户点击按钮时,输入字段的值就会被清除。

【讨论】:

以上是关于如何用js清除tokenfield的主要内容,如果未能解决你的问题,请参考以下文章

如何用php清除浏览器缓存?

如何用外设句柄清除中断?嵌入式锈

VBA中如何用CLEAN函数清除一列看不见的双引号?

如何用DOS命令清除管理员密码?

js怎样清除或者替换添加的标签

如何用arp命令添加一项静态ARP缓存