2011-12-07 17 views
0

forループにドロップダウンがあります。私もこのループにpdfボタンをダウンロードしています。私はこのpdfのダウンロードボタンをクリックし、次にjavascriptでドロップダウンで選択した値を選択して、最終的に関数を実行し、選択した値に関連する正しいpfdの場所を見つけることができるようにします。親のドロップダウン選択値を選択する方法

EDIT:

var selected = $(".dropdown option:selected", $(this).parent()).val(); 

答えて

1

それはのchangeイベントをサブスクライブすると良いでしょう:

<table> 
    <tr> 
     <td></td> 
     <td> 
     @Html.DropDownList("Dropdown", Model.Dropdowns[i], new { id = Model.Industry[i].Id, @class = "dropdown"}) 
    </td> 
    </tr> 
    <tr> 
     <td></td> 
     <td> 
      <a href="#" class="DownloadPDF"> Download PDF</a>             
     </td> 

<script type="text/javascript"> 
$(document).ready(function() { 

    $(".DownloadPDF").click(
     function() { 
      var selected = $(this).parent().find(".dropdown option:selected").val(); 
      alert(selected); 
     } 
    ); 
}); 

このコードは、親なしで多分未定義

+0

まだ定義されていないエラーが発生しました。私はあなたの最初の例に行きます – Beginner

+0

私は間違った属性を 'href'の代わりに' src'に設定しました。私は作業サンプルを追加しました – Samich

0

を言うだけの警告を返します。あなたのドロップダウン:

$(document).ready(function() { 
    $('select.dropdown').change(function() { 
     var $tr = $(this).closest('tr'); 
     var $btn = $tr.next().find('a.DownloadPDF'); 
     $btn.attr('href', 'mydownloadhandler?pdf' + $(this).find('option:selected').val()); 
    }); 
}); 

コード:とにかくhttp://jsfiddle.net/b4Dxv/1/

、我々はボタンから起動する場合:

$(document).ready(function() { 
    $(".DownloadPDF").click(function() { 
      var selected = $(this).closest('tr').prev().find(".dropdown option:selected").val(); 
      alert(selected); 
     } 
    ); 
}); 
+0

これは機能しますが、最初のドロップダウンの値が選択されます。私はボタンの上にドロップダウンの値をしたい。 – Beginner

+0

たとえば、ループ内にあるため、ドロップダウンとボタンが3つあります。 – Beginner

+0

$(this).parent()を選択の基礎として追加しました。 $(this).parent()。parent()が必要かもしれません。 – PiTheNumber

0
私はそれドロップダウンと異なるテーブルセル内のリンクされている取る

が、同じ行の?

あなたがここで行っていることは、リンクの親だけをチェックすることです。リンクの親はtd要素です。あなたが見つける必要があるのは親要素trです。これを試してください:

var selected = $(this).closest('tr').find(".dropdown option:selected").val(); 
関連する問題