Javascript 如何从输入中删除特定的数字

Javascript 如何从输入中删除特定的数字,javascript,jquery,Javascript,Jquery,我需要从输入值中删除一个特定的数字。 例如: 当用户单击带有数字的按钮时,我需要使用Jquery或Javascript从输入中删除该数字 你知道如何做到这一点吗 多谢各位 <input name="boxesnumbers" value="5 3 1"> <a href="#" onclick="removethis(3)">3</a> <a href="#" onclick="removethis(5)">5</a> <a hr

我需要从输入值中删除一个特定的数字。 例如:

当用户单击带有数字的按钮时,我需要使用Jquery或Javascript从输入中删除该数字

你知道如何做到这一点吗

多谢各位

<input name="boxesnumbers" value="5 3 1">
<a href="#" onclick="removethis(3)">3</a>
<a href="#" onclick="removethis(5)">5</a>
<a href="#" onclick="removethis(1)">1</a>

正如@epascarello所建议的:

let removethis=num=>
document.querySelector('input')。值=
document.querySelector('input')。值
.拆分(“”)
.filter(v=>v!=num)
.加入(“”)

您可以使用以下功能:

<input name="boxesnumbers" value="5 3 1">
<a href="#" >3</a>
<a href="#" >5</a>
<a href="#" >1</a>
<script>
$('a').click(function() {
$('[name="boxesnumbers"]').val($('[name="boxesnumbers"]').val().replace($(this).text(), ''))

});
</script>

$('a')。单击(函数(){
$('[name=“boxesnumbers”]').val($('[name=“boxesnumbers”]').val().replace($(this.text(),'')
});

我强烈建议重构现有代码,不要使用内联
onclick
属性

实现这一点的一种更优雅的方法是为每个链接提供一个
dataremove
属性,然后在事件侦听器中引用该值,而不是在硬编码的处理程序调用中引用。结果是代码更加有序、易于理解,如果需要,还可以修改
删除此
或禁用某些链接而不更改HTML

const elem=document.querySelector(“输入[name='boxesnumbers']”);
//使用字符串参数定义删除函数。
函数removethis(n){
让val=elem.value;/*存储输入元素的初始值*/
元素值=val
.split(/\s/g)/*按空格分割字符串值*/
.filter(i=>i!==n)/*丢弃等于参数值的数字*/
.join(“”;/*将数字列表重新组合为以空格分隔的字符串*/
}
const btn=document.getElementsByTagName('a');
//创建一个全局单击侦听器。
window.addEventListener(“单击”,函数(e){
如果(e.target.matches('a[data remove]'){/*如果元素是删除链接*/
removethis(e.target.dataset.remove);/*使用数据删除属性调用removethis*/
}
});

您可以试试

function removethis(number) {
  let box = document.getElementById("boxesnumbers");
  let regexp = new RegExp(`\\b${number}\\b`,"g");
  let newValue = box.value.replace(regexp,"");
  box.value = newValue;
}

正则表达式将确保您只从值列表中删除完整的数字,因此如果您有“2 12”并单击2,它将只删除2值而不是12。

奇怪的是,您将链接视为复选框。您可以使用jQuery或Javascript访问
input
元素的属性。只需在jQuery或Javascript的在线文档中查找即可。例如,只需在“jquery更改输入值”上进行web搜索,就可以读取该值,将其拆分为数字,添加或删除