2012-01-11 14 views
0

jQueryのアップロードがあります。 1枚の画像がアップロードされると、この画像は自動的にデフォルト画像になります。このイメージの下に「メイン」という言葉が現れます。 2番目の画像をアップロードするとき、私は当然のことながら、この2番目の画像の下にテキスト "Set as Main"が表示されるようにします。下のコードではもちろん、2番目の画像の下に表示されますが、1番目の画像の下に追加されます。私はなぜそれが理にかなっていることを理解していますが、私はそれが起こることを望んでいません。すでにタグが存在する場合は、それを除外することができます。存在しない場合は、新しいタグを追加してください。誰も私にこれを解決するヒントを与えることができますか?特定のタグが存在しない場合にのみ要素を選択して追加します。

if ($('#default').val() == '') 
    { 
    $('a.ui-icon-zoomin').after('<h6 class="default">Main</h6>'); 
    } 
    else{ 
    $('a.ui-icon-zoomin').after('<h6 class="setDefault">Set as Main</h6>'); 
    } 
+0

あなたが望む数の画像をアップロードできると思いますか?あなたは6枚の画像を持ち、4枚目はメイン画像として設定できますか? –

+0

はい、正しいです。 – Luka

答えて

0

あなたがお互いの後に画像を追加する場合は、あなたがこれを行うとよいでしょう。この

var $a = $('a.ui-icon-zoomin:last'); 
    if ($('#default').val() == '') 
    { 
     if($a.next('h6').length == 0){ 
     $a.after('<h6 class="default">Main</h6>'); 
     } 
    } 
    else{ 
     if($a.next('h6').length == 0){ 
     $a.after('<h6 class="setDefault">Set as Main</h6>'); 
     } 
    } 
+0

閉じる。今度は最初の画像の下に「Main」と表示されますが、現時点では表示されない2番目の画像の下に「Set as Main」が表示されます。何か案が? – Luka

+0

私の編集した答えをチェックしてください。 – ShankarSangoli

+0

ありがとうございますが、まだ何もない、2番目の画像の下のテキストはありません。 – Luka

0

をお試しください:

if ($('#default').val() == '') 
    { 
    $('a.ui-icon-zoomin').after('<h6 class="default">Main</h6>'); 
    } 
    else{ 
    $('a.ui-icon-zoomin').last().after('<h6 class="setDefault">Set as Main</h6>'); 
    } 

私はこれは私が

+0

いいえ、残念ながら私は最初の画像「メイン」と「メインとして設定」を取得し、2番目の画像は何も取得しません。 – Luka

1

:-)でしょう役に立てば幸い現在の選択されたメインイメージにクラスを追加します。あなたはクラスのデフォルトで持っています。次に、現在の '.setDefault'をクリックすると、デフォルトが削除され、これを 'setDefault'に置き換え、テキストも編集します。次に、現在選択されているリンクでクラスを変更し、テキストも変更します。このようなもの:

$('.setDefault').click(function(){ 
    $('.default').removeClass('default').addClass('default').text('Set as Main') 
    $(this).removeClass('setDefault').addClass('default').text('Main') 
}); 

これをあなたの現在のコードに組み込みます。

編集:

if ($('#default').val() == '') 
{ 
    $('a.ui-icon-zoomin').first().after('<h6 class="default">Main</h6>'); 
} 
else{ 
    $('a.ui-icon-zoomin').eq(1).after('<h6 class="setDefault">Set as Main</h6>'); 
} 

当量そしてここsecrectいます。これでわかる問題は、eqは厳しい設定値です。ここでは第2aにも適用されます。実際にこのコードを使用しているのであれば、まずアルバムを作成してからアップロードしてください。これはうまくいくはずです。その後、元のJavaScriptを引き継ぐ。 これが役に立たない場合は申し訳ありません

+0

画像をクリックしたときに似たようなことがありますが、今は画像がアップロードされると自動的に「メイン」が自動的にアップロードされ、次に「メインとして設定」 – Luka

+0

は私の編集を参照する状況を探しています私が疑問に思っているにもかかわらず、p –

+0

Mmh、もう一度、最初の画像の下にのみテキストがあり、2番目の画像の下には何もありません。お試しいただきありがとうございます。方法がなければならない... – Luka

関連する問題