1

IE6 をサポートしないと言い始める前に、それは私の決定ではないことを知っておいてください。私は古いシステムに行き詰まり、強制的に ie6 に、可能であれば ie8 に強制されています... FF や Chrome で配信することさえできません。悲しい日々!

私の問題は、特定のマシンのセットアップ (Citrix メタフレーム経由の IE6) が要素を複製できないという事実に起因しています。

例えば:

//clone the elements
var oldProd = $(this).parents('.wdm-ui-prodHierarchy-fieldset');
var newProd = $(this).parents('.wdm-ui-prodHierarchy-fieldset').clone(false);

//Change the ids in the cloned items
prodStructSequence++;
$('#console').append('<p>old prod number: ' + oldProd.attr('number') + '</p>');
newProd.attr('number', prodStructSequence);
$('#console').append('<p>old prod number: ' + oldProd.attr('number') + '</p>');
$('#console').append('<p>new prod number: ' + newProd.attr('number') + '</p>');
newProd.find('select.prod-struct-service').each(function(i){ this.id = increment(this.id, prodStructSequence); } );
newProd.find('select.prod-struct-product').each(function(i){ this.id = increment(this.id, prodStructSequence); } );
newProd.find('select.prod-struct-action').each(function(i){ this.id = increment(this.id, prodStructSequence); } );
newProd.find('.cloneButton').each(function(i){ this.number = increment(this.number, prodStructSequence); } );
newProd.find('.removeButton').each(function(i){ this.number = increment(this.number, prodStructSequence); } );

私も直接使用してみました:

newProd.number = prodStructSequence;

しかし、私の結果は常にこれです:

old prod number: 1
old prod number: 2
new prod number: 2
Found element.number: 2
Found element.number: 2

クローンを使用していない可能性がありますが、これを機能させて別のものに移行したいだけです。

バージョン:

  1. IE6.0.3790.3959 + Citrix + jQuery 1.10.2 が動作しない
  2. IE6.0.2900.5512 + Windows XP Mode SP3 + jQuery 1.10.2 動作
  3. IE8、FF、Chrome すべて動作
4

2 に答える 2

0

私はほとんどのコードを書き直してしまい、何も機能しませんでした。最終結果は、クローンの代わりに X 行を事前に生成し、フィールドのグループ/行を表示/非表示にして、必要に応じてそれらをリセットすることです。

ご提案いただきありがとうございます

于 2013-10-03T17:06:20.220 に答える
0

私はあまり経験clone()がありませんが、これを達成する別の方法があるかもしれません:

$(this).parents('.wdm-ui-prodHierarchy-fieldset').wrap('<span class="save_me_for_later" />');

var newProd = $('.save_me_for_later').html();

$('.save_me_for_later').remove();
于 2013-10-02T20:29:30.590 に答える