Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-获取listitem集合的选定选项?_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript jQuery-获取listitem集合的选定选项?

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 + ","; } } 这将给我从选择列表中

我有用户输入的字段,我会将其传递到jQuery并传递到web服务

我可以通过以下方式获取文本框值:

var name=$MainContent\u txtName.val

我遇到的问题是由列表项集合组成的多选。 如果我要在服务器端执行此操作,我会执行以下操作:

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服务传递它时,它里面什么都没有。谢谢你的帮助!