javascript - 获取下拉选择值并将其发送到 asp.net core web application 中同一页面的 OnGet 方法
问题描述
我不是开发人员背景,我正在尝试开发一些实用程序来帮助自动化我们的一些手动过程,作为其中的一部分,我设计了一个 Web 应用程序(简单的网页)。我可以使用 .cshtml 中的以下代码填充下拉列表中的值
<select asp-for="SelectDD" asp-items=@Model.pvalues>
<option value="" selected>Select a value..</option>
</select>
我想在 .cshtml 中使用一个有助于轻松读取值的表单,但是如果我在表单下包含 html 元素,则会出现错误。
一旦我选择了一个下拉菜单并单击一个按钮,就会使用以下代码调用带有所选下拉列表值的 OnGet() 方法
<a id="pc" asp-page="Comparison" asp-route-ID="dropdownselectedvalue"><button type="button" class="btn btn-primary">Compare</button></a>
但问题是我无法提取选定的下拉值,也无法通过 asp-route-ID 属性传递它。能够在控制台(Chrome 开发人员工具)中使用 jquery 获取选定的下拉值,但找不到任何可以帮助我通过单击按钮发送值的内容
解决方案
以下帮助我解决了这个问题。
我已经修改了锚标记如下(我已经删除了 asp-route-ID 属性)
<a id ="ps" asp-page="Comparison"><button type="button" class="btn btn-primary" onclick="getOption()">Compare</button></a>
我编写了以下 javascript 函数来帮助我获取选定的下拉值并更改锚标记 href 值
function getOption() {
selectElement = document.querySelector('#SelectDD');
output = selectElement.value;
document.querySelector('#pc').setAttribute("href", "/Comparison?ID=" + output);
}
我花了2-3天的时间,但终于能够解决。希望这对其他人有帮助
推荐阅读
- python - 使用 set_yticklabels 会产生水平对齐的刻度标签,而不是垂直对齐
- r - 为什么我会收到此错误?“crossprod(x, y) 中的错误:需要数字/复矩阵/向量参数”
- javascript - 垂直对齐标题元素 gatsby JS, SCSS
- bash - 平均每 N 行并将平均值附加为新列,理想情况下在 ceil(N/2) 位置
- node.js - 将查询从链接传递到服务器,第一次加载未定义的查询值,重新加载后得到正确的查询
- javascript - 如果单击链接,则使 javascript 不运行特定代码
- jasper-reports - 编译预期报告时遇到 Jasper 报告错误;
- asp.net-mvc - ASP.NET Core 在工作时会读取多少次 appsettings.json 文件?
- azure-devops - 如何使用 yaml 模板运行管道,该模板使用 Azure DevOps 引用不同存储库中的变量文件?
- time - Tradingview Pine-Script:如何仅绘制最后 x 个周期