2014-09-28 59 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