我之前问过一个问题,但措辞不正确。
我几乎是第一次使用 jQuery 和 Bootstrap,需要一些帮助。
我有一个 .aspx
网页,其中包含以下代码:
<form method="POST" action="Search.aspx">
<div>
<input type="text" class="form-control" name="srchterm" id="srchterm" style="width: 300px" />
<button id="Submit" class="btn btn-primary" type="submit">
GO!</button>
</div>
<br />
<div>
<div class="btn-group">
<a id="reportType" class="btn btn-default dropdown-toggle btn-select" data-toggle="dropdown" href="#"
name="rptType">Select report type<span class="caret"></span></a>
<ul class="dropdown-menu">
<li id="1"><a href="#">All</a></li>
<li id="2"><a href="#">Some</a></li>
<li id="3"><a href="#">None</a></li>
</ul>
</div>
<div class="btn-group">
<a id="reportStatus" class="btn btn-default dropdown-toggle btn-select" data-toggle="dropdown" href="#">
Report Status<span class="caret"></span></a>
<ul class="dropdown-menu">
<li id="1"><a href="#">Active</a></li>
<li id="2"><a href="#">Archived</a></li>
<li id="3"><a href="#">All</a></li>
</ul>
</div>
</div>
</div>
</form>
我想知道的是如何使用 JQuery 或 AJAX 将所选无序列表项的值传递给后面的代码。我对这两种方法都了解不多(或者说完全诚实)。
当我点击提交按钮时,它会获取文本框值并将其传递回 Request.Form("srchTerm")
但我似乎无法传递任何其他内容。
我在这里看到了这个链接:fiddle但似乎无法让它为我工作。
我想知道这是否是因为我如何声明我的列表框,但确实需要帮助才能使其正常工作。
如果我缺少标签,请告诉我。但我非常感谢 JavaScript 的帮助,将其连接起来以传递数据,以便我可以从数据库中调用信息。
======================================
编辑1
我尝试了各种方法,但我没有保留任何方法,但这是我现在所拥有的,并且无法获得任何东西来传递值。
$(".dropdown-menu li a").click(function () {
var selText = $(this).text();
$(this).parents('.btn-group').find('.dropdown-toggle').html(selText + ' <span class="caret"></span>');
});
$('.reportType li').click(function () {
value1 = $(this).attr('value');
});
$('.reportStatus li').click(function () {
value2 = $(this).attr('value');
});
$('#Submit').click(function () {
alert('value1 = ' + value1 + ' | value2 = ' + value2);
});
最佳答案
如果您必须有下拉列表并且想要维护这种类型的功能,那么我只需使用隐藏的输入字段,如下所示:
<div class="btn-group">
<input type="hidden" id="reportStatus" name="reportStatus" />
<a class="btn btn-default dropdown-toggle btn-select"
data-toggle="dropdown" href="#">
Report Status
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li data-val="1"><a href="#">Active</a></li>
<li data-val="2"><a href="#">Archived</a></li>
<li data-val="3"><a href="#">All</a></li>
</ul>
</div>
JS 会是这样的:
//$(function () {
// $("#reportStatus").parents("div").find("li").click(function () {
// value = $(this).attr("data-val");
// $("#reportStatus").val(value);
// })
//});
//or something more general:
$(function () {
$(".btn-group").each(function (index, item) {
myInput = $(item).children("input");
$(item).find("li").click(function () {
value = $(this).attr("data-val");
myInput.val(value);
});
});
});
关于javascript - 使用 jQuery 将无序列表所选项目传递到 ASP.NET Web 窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32444001/