我在for循环中有一个下拉列表。我在这个循环中也有一个下载pdf按钮。我希望能够点击这个下载pdf按钮然后在javascript中选择下拉列表中的选定值,然后最终运行一个函数并找到与所选值相关的正确pfd位置。
编辑:
<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 :(得分:1)
最好订阅下拉列表的change
事件:
$(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);
}
);
});
答案 1 :(得分:0)
也许没有父母:
var selected = $(".dropdown option:selected", $(this).parent()).val();
答案 2 :(得分:0)
我把它下拉,链接在不同的表格单元格中,但在同一行?
您在此处所做的只是检查链接的父级。链接的父级是td
元素。您需要找到的是父tr
元素。试试这个:
var selected = $(this).closest('tr').find(".dropdown option:selected").val();