如何通过选择组合框获取所选文本的值? 这是绑定组合框的 aspx.cs 代码
service.BindHTMLDropdownList(cmb_labelno, "tbl_StockRunning", "StockTagNo", "StockId", "where IsActive = 1 and StockTypePrefix = 'T' and " +
"BranchId = " + Session["BranchId"] + "");
组合框名称:cmb_labelno 表名称:tbl_StockRunning 文本:StockTagNo 值:库存ID
这是aspx代码
<select id="cmb_labelno" runat="server"></select>
<input type="button" id="btnGetStock" value="VIEW"/>
$("#btnGetStock").click(function (e) {
alert(document.getElementById('cmb_labelno').value);
});
现在,我使用的 alert(document.getElementById('cmb_labelno').value 的位置 alert(document.getElementById('cmb_labelno').val 仍然没有显示值。
如果我在 Jquery 中做同样的事情,仍然只显示选定的文本而不显示值 这是我的 Jquery 代码,
document.getElementById('<%= cmb_labelno.ClientID %>').value
代码有问题吗……???
您应该执行以下操作来从
select
元素获取值。
我要附上一个片段。 首先,我在全局范围内声明了两个名为
selectedValue
和 selectedText
的变量,这样我就可以在每次单击 VIEW 时将它们的值记录到输入类型按钮的侦听器上。
要获取所选选项,您必须打开
label.options
,然后就像访问数组一样,插入属性 selectedIndex 作为“数组”(不是数组)的索引。
它更像是 DOM 元素的 Nodelist,其中包含选项及其相应的值/文本。
我说的是数组,所以我想在这里解决的问题更难以理解。
// I have used pure vanilla javascript for getting the values for the select element
var label = document.getElementById("cmb_labelno");
let selectedValue = '';
let selectedText = '';
label.addEventListener("change", function(e){
selectedValue = label.options[label.selectedIndex].value;
selectedText = label.options[label.selectedIndex].text;
console.log(selectedValue);
console.log(selectedText);
});
$("#btnGetStock").click(function (e) {
console.log(selectedValue);
console.log(selectedText);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<select id="cmb_labelno">
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>
<input type="button" id="btnGetStock" value="VIEW"/>
希望可以帮助您解决问题。