我有一个下拉列表和Html超链接按钮。因此,当我在下拉列表中选择某项然后单击按钮时,我需要用超链接数量属性填充下拉列表所选项的值。
<div class="form-group col-6 mt-0 mt-lg-3 d-flex align-items-end">
<select id="drpQuantity">
<option value="0">--Select --</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<a href="@Url.Action("AddNewItems", "Home",
new { ItemId = QitemId,
Quantity = //I need dropdown lists selected value here})">
<input type="submit" class="btn btn-primary btn-block rounded-pill" id="@QitemId" value="Add to Cart" />
</a>
</div>
答案 0 :(得分:1)
就像@Jasen之前说的那样,<ruby
助手的<v>
参数在发送到浏览器之前在服务器端呈现,您不能直接使用@Url.Action()
元素中的选定值来更改它。您可以使用客户端代码,该代码使用routeValues
元素中的选定值来提供其他查询字符串参数,如以下示例所示:
超链接示例
<select>
客户端操作
<select>
如果要使用普通/普通JS,则需要处理<a id="link" href="#">Add New</a>
中的$('#drpQuantity').change(function () {
var selected = $(this).val();
// use prop function to set href attribute of target anchor link
$('#link').prop('href', '@Url.Action("AddNewItems", "Home", new { ItemId = QitemId })' + '&Quantity=' + selected);
});
事件,并在获取锚链接ID /标记名称后设置onchange
属性:
<select>
锚链接应显示为以下示例:
href
实时示例:.NET Fiddle