非表示のフィールドに複数の値を追加しようとしています。うまくいきましたが、値を複数回入力すると、非表示フィールドに追加される値が一意であり、追加されないようにしたいと考えています。JS内のテキストボックスに複数の値を動的に追加する際に値の重複を避けるにはどうすればよいですか?
interestedinは値が選択されている選択ボックスの名前で、interestは選択ボックスでオプションを選択するときに値がカンマ区切りの値として追加される非表示フィールドのIDです。
同じオプションを2回選択すると、隠しフィールドに2回追加されています。私は、選択された2つの値を使って隠しフィールドに値を追加することは望ましくありません。
選択ボックスの値を(名前は=「interestedin」)を選択しながら、機能クリッカーが呼び出され、値は、隠しフィールド(ID =「関心」)
function clicker(){
var itemsobj=document.getElementsByName("interestedin[]");
str='';
//alert(itemsobj[0].value);
//alert('test');
count=0;
var arr = new Array();
for(var i=0;i<itemsobj.length;i++)
{
count += 1;
str +=itemsobj[i].value+',';
//alert(str);
arr[i] = itemsobj[i].value;
}
var length=str.length;
var strr=str.substring(0,length-1);
document.getElementById('interest').value = strr;
//alert(strr);
setProductPrice(arr,count);
}
配列ではなく、オブジェクトを使用し、値をキーとして使用します。 'if(!obj [value]){obj [value] = true;/* ...値を加えて... * /} ' –
ああ、いい点T.J.ありがとう:) –