2014-01-08 80 views
0

我現在掙扎了一會兒這一點。jQuery的。每次追加第一則第二個值等

我得到2「標籤」的第一個標籤是可見的,第二個選項卡是隱藏的。

我需要什麼是,當我添加更多的選擇元素和機會的選擇元素的價值,我點擊'下一步'我需要添加到第一個'內容:'值'富',第二'內容:''酒吧'例如。 但是現在我每次都會收到'Content:Foo Bar'和'Content:Foo Bar'。

首先來看看這個小提琴請Click here

這是我的HTML:

<div id="tab1"> 
    <p> 
     <select> 
      <option>Foo</option> 
      <option>Bar</option> 
     </select> 
    </p> 
    <a href="#" class="add">add</a> 
    <input type="button" value="next" class="next add_content" /> 
</div> 

<div id="tab2"> 
    <p>Content: <span></span></p> 
    <input type="button" value="prev" class="prev" /> 
</div> 

,這是我的jQuery:

$(".next").click(function(){ 
    $(this).parent().hide(); 
    $(this).parent().next().show(); 
}); 

$(".prev").click(function(){ 
    $(this).parent().hide(); 
    $(this).parent().prev().show(); 
}); 

$("a.add").click(function(){ 
    var row = $("#tab1").children("p").first().clone(); 
    var row2 = $("#tab2").children("p").first().clone(); 

    row.insertBefore(this); 
    row2.insertAfter("#tab2 p:last"); 

    return false; 
}); 

$(".add_content").click(function() { 
    $("#tab1 select option:selected").each(function() { 
     var content = $(this).val(); 
     $("#tab2 p span").append(content + " "); 
    }); 
}); 

回答

2

使用索引更新跨度

$(".add_content").click(function() { 
    var spans = $("#tab2 p span"); 
    $("#tab1 select option:selected").each(function (i) { 
     var content = $(this).val(); 
     spans.eq(i).text(content); // as suggested by @RaphaëlAlthaus 
    }); 
}); 

演示:Fiddle

+0

感謝它很好,但是.eq(i)是什麼意思? – Julez

+0

'i'表示'index' – rynhe

+0

@Julez它取了span元素相同的索引作爲當前選擇的......像第一選擇,第二跨度第二選擇ETV –

1

另一種選擇只是改變你的函數像下面。你可以嘗試這個應該工作。

$(".add_content").click(function() { 
    var i = 0; 
    $("#tab1 select option:selected").each(function() { 
     var content = $(this).val(); 
     $("#tab2 p span:eq("+i+")").text(content + " "); 
     ++i; 
    }); 
}); 

這裏是小提琴:fiddle

EQ(0)就像選擇第0或1元的A股指數

+0

感謝這也工作,給我看另一種選擇。很高興知道。 – Julez

+0

如果它是有用的,你給它一個upvote,讓別人可以理解,這也是一個有效的選擇。 –

+0

是的,對不起,我做到了 – Julez

1

問題是,您要添加的內容爲div每一區間#tab_2

您需要單獨針對他們使用類似.eq()

。更改單擊處理程序這個:

$(".add_content").click(function() { 
    $("#tab1 select").each(function(i) { 
     var content = $(this).val(); 
     $("#tab2 p span").eq(i).append(content + " "); 
    }); 
}); 
相關問題