forループにドロップダウンがあります。私もこのループにpdfボタンをダウンロードしています。私はこのpdfのダウンロードボタンをクリックし、次にjavascriptでドロップダウンで選択した値を選択して、最終的に関数を実行し、選択した値に関連する正しいpfdの場所を見つけることができるようにします。親のドロップダウン選択値を選択する方法
EDIT:
var selected = $(".dropdown option:selected", $(this).parent()).val();
forループにドロップダウンがあります。私もこのループにpdfボタンをダウンロードしています。私はこのpdfのダウンロードボタンをクリックし、次にjavascriptでドロップダウンで選択した値を選択して、最終的に関数を実行し、選択した値に関連する正しいpfdの場所を見つけることができるようにします。親のドロップダウン選択値を選択する方法
EDIT:
var selected = $(".dropdown option:selected", $(this).parent()).val();
それはの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);
}
);
});
このコードは、親なしで多分未定義
を言うだけの警告を返します。あなたのドロップダウン:
$(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);
}
);
});
これは機能しますが、最初のドロップダウンの値が選択されます。私はボタンの上にドロップダウンの値をしたい。 – Beginner
たとえば、ループ内にあるため、ドロップダウンとボタンが3つあります。 – Beginner
$(this).parent()を選択の基礎として追加しました。 $(this).parent()。parent()が必要かもしれません。 – PiTheNumber
が、同じ行の?
あなたがここで行っていることは、リンクの親だけをチェックすることです。リンクの親はtd
要素です。あなたが見つける必要があるのは親要素tr
です。これを試してください:
var selected = $(this).closest('tr').find(".dropdown option:selected").val();
まだ定義されていないエラーが発生しました。私はあなたの最初の例に行きます – Beginner
私は間違った属性を 'href'の代わりに' src'に設定しました。私は作業サンプルを追加しました – Samich