2011-07-05 5 views
0

私は自分のページにいくつかのドロップダウンボックスを持っていますが、私がしようとしていることは、変更されたときに変更された値を取得することです。しかし、何が起こっているのは、追加された最初のドロップダウンボックスの値だけを取得するということです。 jquery .live( 'change')ドギーの結果を返す

この

は、彼らが追加されている方法です。

$(".payCell1").each(function(i, data) 
{ 
    $(this).html("<select id='selection"+i+"' class='selectoror' style='width:167px'><option></option><option>Energy Efficient Lighting Systems</option><option>Lighting and Associated Systems</option><option>Efficient Lighting in Poultry & Green houses</option><option>Advanced Lighting Technologies</option><option>Building Management Systems</option><option>Sensors and Controls</option><option>HVAC Systems</option><option>Electrical Hot Water Systems</option><option>Heatpumps</option><option>Induction Heating</option><option>Showerheads and Temperature Control</option><option>Process optimisation</option><option>Compressed Air Systems/Hydraulics</option><option>Process Heating</option><option>Refrigeration and Cooling</option><option>Waste Heat Recovery (Incl Micro Turbines)</option><option>Electric Boilers and Steam Systems</option><option>Drying Technologies</option><option>Material Handling systems -Pumps and Conveyors</option><option>Pumps</option><option>Ventilation Fans</option><option>Energy Efficient Motor Systems</option><option>Advanced Motor Technologies (VSDs etc.)</option><option>Thermal Insulation (cooling & Heating)</option><option>Agriculture Irrigation Systems</option><option>Ind & Com Solar Hot Water Systems</option></select>") 
}); 

そして、これは私が試してみて、値を取得するために使用するコードです:ドロップダウンの選択は、私が変更に変更され

$(".selectoror").live('change', function() 
{ 
    var parental = $(this).closest(".payTableRow"); 
    var childrens = $(parental).find(".container"); 

    alert($(this+":selected").val()); 

    if($(this+":selected").val() != "Ind & Com Solar Hot Water Systems") 
    { 
     $(childrens[1]).html("42"); 
    } 
    else 
    { 
     $(childrens[1]).html("70"); 
    } 
}); 

が、どんなにを最初の1の値だけを返します。

 <form id="form"> 
      <div style="background:url(images/top_menu2.jpg) no-repeat; width: 966px; height: 49px;"></div> 
      <div class="payTableRow"><div class="payCell1 container"></div><div class="payCell2 container"><div data-pay-edit="yes">0</div></div><div class="payCell3 container"><div data-pay-edit="no">0</div></div><div class="payCell4 container"><div data-pay-edit="yes">0</div></div><div class="payCell5 container"><div data-pay-edit="yes">0</div></div><div class="payCell6 container"><div data-pay-edit="yes">0</div></div><div class="payCell7 container"><div data-pay-edit="yes">0</div></div><div class="payCell8 container"><div data-pay-edit="yes">0</div></div><div class="payCell9 container"><div data-pay-edit="yes">0</div></div><div class="payCell10 container"><div data-pay-edit="yes">0</div></div><div class="payCell11 container"><div data-pay-edit="yes">0</div></div><div class="payCell12 container"><div data-pay-edit="yes">0</div></div></div> 
      <div class="payTableRow"><div class="payCell1 container"></div><div class="payCell2 container"><div data-pay-edit="yes">0</div></div><div class="payCell3 container"><div data-pay-edit="no">0</div></div><div class="payCell4 container"><div data-pay-edit="yes">0</div></div><div class="payCell5 container"><div data-pay-edit="yes">0</div></div><div class="payCell6 container"><div data-pay-edit="yes">0</div></div><div class="payCell7 container"><div data-pay-edit="yes">0</div></div><div class="payCell8 container"><div data-pay-edit="yes">0</div></div><div class="payCell9 container"><div data-pay-edit="yes">0</div></div><div class="payCell10 container"><div data-pay-edit="yes">0</div></div><div class="payCell11 container"><div data-pay-edit="yes">0</div></div><div class="payCell12 container"><div data-pay-edit="yes">0</div></div></div> 
      <div class="payTableRow"><div class="payCell1 container"></div><div class="payCell2 container"><div data-pay-edit="yes">0</div></div><div class="payCell3 container"><div data-pay-edit="no">0</div></div><div class="payCell4 container"><div data-pay-edit="yes">0</div></div><div class="payCell5 container"><div data-pay-edit="yes">0</div></div><div class="payCell6 container"><div data-pay-edit="yes">0</div></div><div class="payCell7 container"><div data-pay-edit="yes">0</div></div><div class="payCell8 container"><div data-pay-edit="yes">0</div></div><div class="payCell9 container"><div data-pay-edit="yes">0</div></div><div class="payCell10 container"><div data-pay-edit="yes">0</div></div><div class="payCell11 container"><div data-pay-edit="yes">0</div></div><div class="payCell12 container"><div data-pay-edit="yes">0</div></div></div> 
      <div class="payTableRow"><div class="payCell1 container"></div><div class="payCell2 container"><div data-pay-edit="yes">0</div></div><div class="payCell3 container"><div data-pay-edit="no">0</div></div><div class="payCell4 container"><div data-pay-edit="yes">0</div></div><div class="payCell5 container"><div data-pay-edit="yes">0</div></div><div class="payCell6 container"><div data-pay-edit="yes">0</div></div><div class="payCell7 container"><div data-pay-edit="yes">0</div></div><div class="payCell8 container"><div data-pay-edit="yes">0</div></div><div class="payCell9 container"><div data-pay-edit="yes">0</div></div><div class="payCell10 container"><div data-pay-edit="yes">0</div></div><div class="payCell11 container"><div data-pay-edit="yes">0</div></div><div class="payCell12 container"><div data-pay-edit="yes">0</div></div></div> 
      <div class="payTableRow"><div class="payCell1 container"></div><div class="payCell2 container"><div data-pay-edit="yes">0</div></div><div class="payCell3 container"><div data-pay-edit="no">0</div></div><div class="payCell4 container"><div data-pay-edit="yes">0</div></div><div class="payCell5 container"><div data-pay-edit="yes">0</div></div><div class="payCell6 container"><div data-pay-edit="yes">0</div></div><div class="payCell7 container"><div data-pay-edit="yes">0</div></div><div class="payCell8 container"><div data-pay-edit="yes">0</div></div><div class="payCell9 container"><div data-pay-edit="yes">0</div></div><div class="payCell10 container"><div data-pay-edit="yes">0</div></div><div class="payCell11 container"><div data-pay-edit="yes">0</div></div><div class="payCell12 container"><div data-pay-edit="yes">0</div></div></div> 
      <div class="payTableRow"><div class="payCell1 container"></div><div class="payCell2 container"><div data-pay-edit="yes">0</div></div><div class="payCell3 container"><div data-pay-edit="no">0</div></div><div class="payCell4 container"><div data-pay-edit="yes">0</div></div><div class="payCell5 container"><div data-pay-edit="yes">0</div></div><div class="payCell6 container"><div data-pay-edit="yes">0</div></div><div class="payCell7 container"><div data-pay-edit="yes">0</div></div><div class="payCell8 container"><div data-pay-edit="yes">0</div></div><div class="payCell9 container"><div data-pay-edit="yes">0</div></div><div class="payCell10 container"><div data-pay-edit="yes">0</div></div><div class="payCell11 container"><div data-pay-edit="yes">0</div></div><div class="payCell12 container"><div data-pay-edit="yes">0</div></div></div> 
      <div class="payTableRow"><div class="payCell1 container"></div><div class="payCell2 container"><div data-pay-edit="yes">0</div></div><div class="payCell3 container"><div data-pay-edit="no">0</div></div><div class="payCell4 container"><div data-pay-edit="yes">0</div></div><div class="payCell5 container"><div data-pay-edit="yes">0</div></div><div class="payCell6 container"><div data-pay-edit="yes">0</div></div><div class="payCell7 container"><div data-pay-edit="yes">0</div></div><div class="payCell8 container"><div data-pay-edit="yes">0</div></div><div class="payCell9 container"><div data-pay-edit="yes">0</div></div><div class="payCell10 container"><div data-pay-edit="yes">0</div></div><div class="payCell11 container"><div data-pay-edit="yes">0</div></div><div class="payCell12 container"><div data-pay-edit="yes">0</div></div></div> 
      <div class="payTableRow"><div class="payCell1 container"></div><div class="payCell2 container"><div data-pay-edit="yes">0</div></div><div class="payCell3 container"><div data-pay-edit="no">0</div></div><div class="payCell4 container"><div data-pay-edit="yes">0</div></div><div class="payCell5 container"><div data-pay-edit="yes">0</div></div><div class="payCell6 container"><div data-pay-edit="yes">0</div></div><div class="payCell7 container"><div data-pay-edit="yes">0</div></div><div class="payCell8 container"><div data-pay-edit="yes">0</div></div><div class="payCell9 container"><div data-pay-edit="yes">0</div></div><div class="payCell10 container"><div data-pay-edit="yes">0</div></div><div class="payCell11 container"><div data-pay-edit="yes">0</div></div><div class="payCell12 container"><div data-pay-edit="yes">0</div></div></div> 
    </form> 

任意のヘルプははるかに高く評価:

は、ここにHTMLです。 ありがとうございます!

+0

あなたのHTMLを投稿したり、jsfiddle.netを作ることができますか? – JMax

+0

投稿されました – MattBH

答えて

2

あなたは:selectedを必要としない(と$(this+":selected")を行うことは非常に悪い考えである、1には、JavaScript/DOMオブジェクトと他の文字列になり、その連結は、あなたが探しているものではありません)、これだけ

を試してみてください
$(".selectoror").live('change', function() { 
    ... 
    alert($(this).val()); 
    ... 
}); 

これは、あなたが:selectedセレクター必要がないことを示しています。http://jsfiddle.net/NJyH2/

を、これはあなたのコードの作業です:http://jsfiddle.net/NJyH2/1/

+0

魔法!ありがとうございました! – MattBH

+0

@Matt、喜んで。 – davin