Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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
如何从dropdownlist中拆分所选值并将其用作jquery中的选择器_Jquery_Css Selectors - Fatal编程技术网

如何从dropdownlist中拆分所选值并将其用作jquery中的选择器

如何从dropdownlist中拆分所选值并将其用作jquery中的选择器,jquery,css-selectors,Jquery,Css Selectors,如果我的头衔看起来很愚蠢,请原谅我。我是jQuery的新手,不知道如何用正确的jQuery术语解释我的问题 所以我刚才问了一个问题,得到了完美的答案。我现在的问题是,我的dropdownlist中的值没有那么简单,因此给我的解决方案失败了 给我的代码是$(“选择[id*='ComboBox'][value!=0])。在我的示例代码中,这很好,因为值是0、1、2、3。但实际上,这些值类似于默认价格1、代码1、代码2、代码3。。。因此,基本上,这些值是串联的字符串。我知道如何分割字符串,但我现在的问

如果我的头衔看起来很愚蠢,请原谅我。我是jQuery的新手,不知道如何用正确的jQuery术语解释我的问题

所以我刚才问了一个问题,得到了完美的答案。我现在的问题是,我的dropdownlist中的值没有那么简单,因此给我的解决方案失败了

给我的代码是
$(“选择[id*='ComboBox'][value!=0])。在我的示例代码中,这很好,因为值是0、1、2、3。但实际上,这些值类似于默认价格1、代码1、代码2、代码3。。。因此,基本上,这些值是串联的字符串。我知道如何分割字符串,但我现在的问题是如何将其与以前的代码集成

$(“选择[id*='ComboBox'][value.split(''u'[0]!==default])。长度+偏移量似乎不起作用

这可能吗?再次感谢


以下是JSFIDLE:不要滥用jQuery选择器,最好使用


如果以下值适用于“0”:

然后,对于以“default”开头的值,您应该能够执行以下操作:

$("select[id*='ComboBox']").not("[value^='default']").length + offset
其中
^=
为“以开头”

但您可以使用,这将允许您执行任何类型的字符串操作,以测试是否应包括每个项:

$("select[id*='ComboBox']").filter(function() {
   return /^default/.test($(this).val());
}).length + offset
/^default/
是在字符串开头查找“default”的正则表达式

$(function() {
    $("select[id*='ComboBox']").change(function() {
        var sum=0;
        $(this).find("option").each(function(){
          sum+=parseInt($(this).val().split("price")[1]);        
        });     
        $("#total").text(sum);
    });
});
如果用户从下拉列表中选择任何值。 总和被分解(1+2+3+4)=10


您可以按照自己的方式使用字符串拆分逻辑。但是,这是您想要的吗?

您的意思是要计算页面上当前所选项目的值不以文本“default”开头的select元素的数量吗?您可以设置一个JSFIDLE以便我们可以看到您目前所拥有的内容吗?听起来您需要一个regexp作为选择器,查看是否要对所有选择值(如默认价格1、代码1价格2、代码3价格3)求和。。或者只选择什么?很好。这真的意味着我现在真的需要更加认真地研究jQuery。谢谢如果值以“code1”开头,则不包括在选择的总和中@AnneLagang,这是你所期望的吗?@Umesh-这个问题不清楚,但在看了她链接的关于计算选定非零值的选定元素的问题后,我猜她本质上想检查有多少选定元素不在默认值上。@nnnnnn,她接受答案意味着她从你的答案中得到了她想要的:)
$("select[id*='ComboBox']").filter(function() {
   return /^default/.test($(this).val());
}).length + offset
$(function() {
    $("select[id*='ComboBox']").change(function() {
        var sum=0;
        $(this).find("option").each(function(){
          sum+=parseInt($(this).val().split("price")[1]);        
        });     
        $("#total").text(sum);
    });
});