从按钮列表中删除某些文本值

Remove certain text value from list of buttons

本文关键字:文本 删除 按钮 列表      更新时间:2023-09-26

我有一个按钮列表。单击时,它会将文本"selected"附加到按钮的现有值上。

当点击一个按钮时,如果文本在那里,我想从其他按钮中删除"选定"的文本。

基本上,它应该像-循环浏览区域中的所有按钮(它们都有一个searchResult类),并从每个按钮中删除值"selected"(如果有)。

以下是每个按钮的代码:

<input type="button" class="searchResult" onclick="$(''#usersToSend > *'').css(''background-color'', ''#fff'');
var oldValue = this.value;
this.value=''(selected) '' + oldValue; this.style.backgroundColor = ''#51CA3E'';
document.getElementById(''hiddenUserFlag'').value = '''.$row['id'].''';"
value="'.$row['username'].'">

以下是需要注意的代码位:

$(''#usersToSend > *'').css(''background-color'', ''#fff'');
var oldValue = this.value;
this.value=''(selected) '' + oldValue;
this.style.backgroundColor = ''#51CA3E'';

您可以使用:contains()选择器和text()方法,如下所示:

$("button").click(function(){
  $("button:contains('selected')").text(function(){
    return this.innerHTML.replace("selected","");
  })
  this.innerHTML+= "selected";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>button-</button>
<button>button-</button>
<button>button-</button>

更新:以上内容不适用于<input>按钮。对于那些,使用.filter().val()方法如下:

$(":input").click(function(){
  $(":input").filter(function(){
    return this.value.indexOf("selected") > 0
  }).val(function(){
    return this.value.replace("selected","");
  })
  this.value+= "selected";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" value="button-" />
<input type="button" value="button-" />
<input type="button" value="button-" />