2014-09-28 75 views
0

我有一个按钮列表。单击时,它会将“选定”文本附加到按钮的现有值。从按钮列表中删除某些文本值

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

基本上它应该像 - 循环遍历区域中的所有按钮(它们都有一个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\'; 
+0

http://stackoverflow.com/questions/10215792/javascript-change-value-of-button – 2014-09-28 15:09:50

+0

的可能重复添加一些你的代码或创建小提琴,这再现了你的情况的行为。 -1来创建视频,这完全不是必需的。用书面形式解释你的问题。好问题是答案的一部分。 – Deele 2014-09-28 15:11:45

+0

我可以看到你可能会认为http://stackoverflow.com/questions/10215792/javascript-change-value-of-button可能是一个重复的答案,但对于我的问题,按钮值是从数据库中分配的,而我不想重新加载任何东西。也正如我所说,这样做的最好方法是循环访问'usersToSend'div中的每个按钮,然后如果'(selected)'在那里删除值'(selected)'。 – www139 2014-09-28 15:14:10

回答

1

您可以使用: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()方法asfollows:

$(":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-" />

+0

谢谢你看起来很有前途。我会试试看! :D – www139 2014-09-28 15:17:07

+0

最后,我最终只是改变背景颜色,而不是因为其他问题而改变文本值。非常感谢大家的帮助和意见! – www139 2014-09-28 15:52:15

+0

代码片段适用于您提出的情况。然而,对我来说,这些按钮是用php脚本创建的,并由ajax发送。我发布的所有脚本都是内联脚本。这也是为什么我必须做'逃离'(') – www139 2014-09-28 15:55:38