2010-12-03 2 views
3

jqueryコンマ/スペースの有無に関わらずアイテムを削除するには?

<input type="hidden" value="XXXXXXX" /> 

<input type="hidden" value="XXXXXXX, YYYYYYYY" /> 

<input type="hidden" value="XXXXXXX, YYYYYYYY, ZZZZZZZZZZ" /> 

jQueryを使用してXXXXXXXを削除したいが、XXXXXXXに(XXXXXXX)の後にコンマがある場合は、コンマを削除する必要がある。

これは私が今持っているものです:

uuid = XXXXXXX 
.val(attachedUUIDs.replace(uuid + ',', '')); 
.val(attachedUUIDs.replace(uuid, ''));         

これをきれいにするアイデア?ありがとう

答えて

2

これは、実行する必要があります。

var uuid = 'XXXXXXX'; 
$('input').val(function (index, value) { 
    return value.replace(new RegExp('\s*'+uuid+',?\s*', 'g'), ''); 
}); 
+0

これは良いですが、このようなものはおそらくもっと良いと思います '(?i)X {7} ,? – Breezer

+0

非常にいいですが、XXXXXXがjs varのときはどうしますか? – AnApprentice

+0

@AnApprentice:更新されたバージョンを確認してください。 – jwueller

2

セパレータのように '、'を使用して値を配列に分割し、配列の2番目の要素を値として入れてください!!これはあなたを助けることができますか?

+0

+1!これは実際には解決策よりも優れています。コード例を提供するとよいでしょう。 – jwueller

+0

コード例を表示できますか? – AnApprentice

+0

Var arr = string.split( '、'); var last = arr.length; の場合(var i = 0; i

1

は置き換える方法で正規表現を使用して、オプションの?としてカンマをマーク。

$('input:hidden').val(attachedUUIDs.replace(/XXXXXXX,?/, ''));