我有ahref:
<a href="@Url.Action("downloadDocument", "NewService", new { serviceId = item.ServiceId })" id="download" target="_blank">Download</a>
同一页面上有一个选择选项:
<select class="required" data-val="true" id="DownloadValuesId" name="DownloadValuesId">
<option value="">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
<option value="5">option5</option>
</select>
如何将所选值作为参数发送到从ahref?
调用的控制器函数中答案 0 :(得分:1)
如果您想从下拉列表中选择任何值,请执行任何操作,请尝试以下操作:
HTML:
<select onchange = "redirect(this.value)" class="required" data-val="true" id="DownloadValuesId" name="DownloadValuesId">
<option value="">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
<option value="5">option5</option>
</select>
和javascript:
<script type="text/javascript">
function redirect(dropDownValue) {
window.location.href = '@Url.Action("Action", "Controller")/' + '?id=' + dropDownValue;
}
</script>
修改强>
使用按钮onclick="AnyFunction()"
发送值并使用任何隐藏元素。首先,为该隐藏元素提供下拉值,然后使用onclick将其发送到操作:
<a id="download" onclick="SendValue()" target="_blank">Download</a>
和js:
<script type="text/javascript">
function redirect(dropDownValue) {
document.getElementById('hiddenElement').value = dropDownValue;
}
function SendValue() {
window.location.href = '@Url.Action("Action", "Controller")/' + '?id=' + document.getElementById('hiddenElement').value;
}
</script>
您也可以使用jquery执行此操作:
$.ajax({
type: "POST", //or GET
url: "@Url.Action("Action", "Controller")",
data: "{ id : 'anyValue', serviceId : 'Any value' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
//do something
}
});
答案 1 :(得分:0)
您有两种方法可以做到这一点:
使用表单,将选择框放入其中,并使链接提交表单。这样,服务器将获得所选的值。
更改选择框选择时,使用Javascript动态更改网址。
如果可能,我会使用第一个选项。
答案 2 :(得分:0)
你可以用jquery来做,见下文。
<script>
$('#DownloadValuesId').change(function(){
var link = $('#download').attr('href');
$('#download').attr('href') = link + "?id=" + $('#DownloadValuesId').val();
});
</script>
hope it helps.
答案 3 :(得分:0)
你喜欢这样,
$('#buttonId').click(function(){
var Id = $("#DownloadValuesId").val(); // Dropdown Id
window.location.href = '@Url.Action("Action", "Controller")?DownloadValuesId=' + Id;
});