Javascript jQuery-获取listitem集合的选定选项?
我有用户输入的字段,我会将其传递到jQuery并传递到web服务 我可以通过以下方式获取文本框值: var name=$MainContent\u txtName.val 我遇到的问题是由列表项集合组成的多选。 如果我要在服务器端执行此操作,我会执行以下操作:Javascript jQuery-获取listitem集合的选定选项?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有用户输入的字段,我会将其传递到jQuery并传递到web服务 我可以通过以下方式获取文本框值: var name=$MainContent\u txtName.val 我遇到的问题是由列表项集合组成的多选。 如果我要在服务器端执行此操作,我会执行以下操作: foreach (ListItem li in listTitles) { if (li.Selected) { selectedValue += li.Value + ","; } } 这将给我从选择列表中
foreach (ListItem li in listTitles)
{
if (li.Selected)
{
selectedValue += li.Value + ",";
}
}
这将给我从选择列表中选择的值的字符串。
我无法从jQuery中获取它。
如果我这样做
var titles = $("#MainContent_selectListTitles").val()
这显然是不正确的,因为它不会返回选定的列表项。
我看到一篇帖子,建议如果我说选择了选项,我就可以检索它。
所以我试了一下:
var titles= $('#MainContent_selectListTitles option:selected');
接下来我做的是弹出一个警报,看看标题是什么。它只是说[物体,物体]
因此,我的问题是:
是否可以将列表项集合中的选定项连接成字符串
或者,我从回发中获取所有表单值(即使是在我的代码中),然后调用jquery函数,这样更好吗?如果这是一个选项,我尝试过这样做,但失败了。它告诉我它找不到方法。因此,我肯定没有在按钮事件的回发中正确调用jquery函数
谢谢。首先,请确保您的项目id在客户端的主内容上是正确的\u selectListTitles。您可以通过查看源来检查它 如果ID正确,请按照此操作
$('#MainContent_selectListTitles').change(function () {
var str = "";
$('#MainContent_selectListTitles option:selected').each(function () {
str += $(this).text() + " ";
//pass str value to your web service here.
});
}).trigger('change');
每次有更改时,它都会调用此函数,这意味着它将使您的web服务繁忙。如果需要,您可以将上述代码移动到按钮单击事件。我并不奇怪您的警报中有[object,object],这是因为您有和数组中的选定项目。实际上,选择了两个项目,并且警报将您的数组显示为[object,object],这很好 具有以下html标记:
<div>
<select multiple="multiple" id="mySelect">
<option value="test1" selected="selected">Test 1</option>
<option value="test2">Test 2</option>
<option value="test3" selected="selected">Test 3</option>
</select>
</div>
以及以下脚本:
<script type="text/javascript">
$.ready = function () {
var selectedItems = $("#mySelect option:selected");
for (var i = 0; i < selectedItems.length; i++) {
alert("The value is: "+selectedItems[i].value + "; the text is: "+selectedItems[i].text);
}
}
</script>
可能会解决你的问题
实际上,手动绑定数据是一个巨大的难题,我建议您查看现代MVVM库,比如knockout.js。
例如:
好的,我现在就开始工作了。请原谅,这是我第一次使用jQuery。我使用此选项获取每个选定选项:$MainContent\u msClaimantType:checked.eachfunction{alert$this.text;现在会弹出每个选定选项的警报。所以现在的问题是如何将选定选项连接到一个变量中?谢谢。我会选择选项1,我做了类似于1 Hanks Mikhail和Jonas的操作。我确实让它起作用了,但也尝试了你的方法来证明你的方法也起作用。我的它实际上与Jonas的非常相似。我是个傻瓜。我在每个函数的内部都有var str=。难怪当我试图通过web服务传递它时,它里面什么都没有。谢谢你的帮助!