0

私はこのような選択リストを持っています -

<select>
    <option value='A,textA$$B,textB' data-id='1'>some text</option>
    <option value='C,textC$$D,textD' data-id='2'>some text</option>
</select>

この文字列を出力として取得しようとしています-

1-1-A-textA,2-1-B-textB,3-2-C-textC,4-2-D-textD
  • 1 - 1,2,3,4..のような単なるインデックスです。
  • 1 - データ ID
  • A - 前のテキスト,
  • textA - 後のテキスト,

私はこれを試しました(ただし、これを超えることはできないため、これは不完全であることを知っています)

var s = $('select option').map(function(){
   return this.value.split('$$').join(',');
}).get();

フィドル -- http://jsfiddle.net/NgQzH/2/

4

3 に答える 3

0

これを試して、

var i=1;
var arr=new Array();
$('select option').each(function(index,value){
    f=$(this).val();
    fr=f.split('$$');
    fr1=fr[0].split(',');
    fr2=fr[1].split(',');
    j=1;
    arr.push(i+'-'+j+'-'+fr1[0]+'-'+fr1[1]);
    i++;j++;
    arr.push(i+'-'+j+'-'+fr2[0]+'-'+fr2[1]);
    i++;
});
console.log(arr.join(','));

働くフィドル

更新しました

var s='';
var i=1;
var j=1;
var arr=new Array();
$('select option').each(function(index,value){
    f=$(this).val();
    fr=f.split('$$');
    fr1=fr[0].split(',');
    fr2=fr[1].split(',');

    arr.push(i+'-'+j+'-'+fr1[0]+'-'+fr1[1]);
    i++;
    arr.push(i+'-'+j+'-'+fr2[0]+'-'+fr2[1]);
    i++;j++;
});
console.log(arr.join(','));

フィドル http://jsfiddle.net/NgQzH/8/

于 2013-06-25T10:48:24.477 に答える