Autor Zpráva
kuba123
Profil *
Mám takovou specifickou situaci týkající se selektů.

Mám tři selekty vedle sebe, když vyberu například první option v prvním selektu tak se vyberou i v ty další options. Příklad

První select má options s hodnotama
auto
strom
dítě

Druhý select má options s hodnotama
das Auto
der Baum
das Kinder

Třetí select má options s hodnotama
car
tree
child

Dejme tomu že správná volba je choice=0 .
Takže bych potřeboval příkaz na vrácení těch tří textů třeba v tomto stylu:
text[0] = "auto";
text[1] = "das Auto";
text[2] = "car";
V případě že choice bude 1 pak bych obdržel hodnoty:
text[0] = "strom";
text[1] = "der Baum";
text[2] = "tree";

Ještě počítám s tím, že ty selekty tam mohou být třeba jen dva anebo tři, počet není pevně stanovený. Rodič je div a když bych chtěl vrátit všechny options tak to dělám takto
var options = parent().children("select").children("option");
ale víc s tím nesvedu, tak snad někdo poradí jak vrátit texty.
Kcko
Profil
http://jsfiddle.net/Kcko/98gU3/1/
kuba123
Profil *
Kcko:
Skvělé. Díky.


Ještě kód postnu sem, abych to měl po ruce
var choice = 2; // vybrané options z kazdeho selectu
var data = [];
var parent = $(this).parent().parent();
parent.each(function(){
    var $this = $(this);
    var $text = $this.children().eq(choice - 1).text();
    data.push($text);
});



vlastně.. parent.children("select").each ..
kuba123
Profil *
Jsem našel ještě lepší řešení, vzhledem k situaci, kdy potřebuju vybrat volbu ne podle pořadí ale podle odpovídající hodnoty

  var getText = function(select, optVal){
    var data=[];
    select.each(function(){
      var $this = $(this);
      var text = $this.children("[value=\""+optVal+"\"]").text();
      data.push(text);
    });
  return data;
  }

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0