2013-10-15 40 views
0

我試圖提醒警報中的索引,值和文本。通過索引提醒相關的選項值和文本

我有這樣的代碼:

$(document).ready(function() { 
    $('#idea_store_ids').chosen().change(function(){ 
     var doai = $(".search-choice-close").map(function(){ 
     return $(this).attr("data-option-array-index");} 
).get(); 
    $.each(doai , function(index, value) { 
    var storename = $("#idea_store_ids option").map(function() { 
      return $(this).text(); 
      }).get(); 
    alert(index + ": " + value + ": " + storename); 
    }); 
    }); 
}); 

,但我有一個很難得到只有相關聯的選項名稱顯示。它顯示所有這些。我認爲這是因爲沒有什麼關於#idea_store_ids選項和「data-option-array-index」來知道哪個屬於哪個。所以我想知道如果它是一個好主意,索引兩個選擇器並將它們聯繫起來。

我該怎麼做?

HTML:

<input type="hidden" value="" name="idea[store_ids][]"></input> 
<select id="idea_store_ids" name="idea[store_ids][]" multiple="multiple" style="display: 
none;"> 

<option value="103">4 Wheeling Shirts-To-Go</option> 
<option value="79">Aliens & Paranormal Shirts-To-Go</option> 
<option value="63">America Shirts-To-Go</option> 
<option value="2" selected="selected">Ann Arbor T-shirt Company</option> 
<option value="19">Area Code Shirts To Go</option>.... 


<ul class="chosen-choices"> 
<li class="search-choice"> 
    <span> … </span> 
    <a class="search-choice-close" data-option-array-index="3"></a> 
</li> 
+1

是'.chosen()'從插件?沒有原生選擇的事件。 – j08691

+0

是的,它是一個插件 – user2588892

回答

0

我覺得選擇重建的結構,使你的地圖功能不返回的信息,您可以調試與

console.dir(doai)

例如對鉻和FF你可以看到沒有價值返回,看着一個元素檢查員如何選擇重建標記,我認爲它甚至有自己的eventlistener更改輸入

試圖讓喜歡選擇的值:

var storename = $.map($(this).find("option:selected").val(), function(n){ 
      return this.value; 
    }); 
+0

你是說用這個替換storename變量?我試過了,整個代碼剎車。 console.dir(doai)會去哪裏? – user2588892

+0

console.dir在var doai = xyz聲明後面的分號後面右移; < - –

0

只要做到這裏面你change

alert(this.selectedIndex + ": " + this.value + ": " + $(this).find("option:selected").text()); 

或者:

var index = this.selectedIndex, 
    value = this.value, 
    text = $(this).find("option:selected").text(); 

alert(index + ":" + value + ":" + text);