Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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添加多个排除项_Javascript - Fatal编程技术网

向该javascript添加多个排除项

向该javascript添加多个排除项,javascript,Javascript,最近有人给了我这段代码来修复我的单选按钮问题,它工作得很好,但是我如何排除更多的单选按钮组呢 我还想排除“午餐水果汁”和“午餐甜点” 谢谢如果要从选择中排除某些单选按钮,您可能应该向要排除的单选按钮添加一个类。像这样: HTML 演示:这可能有点难看,但应该可以: $("input:radio").not("input:radio[name=lunch_desserts]").not("input:radio[name=lunch_fruitjuice]").not(...) 您所要做的就是将

最近有人给了我这段代码来修复我的单选按钮问题,它工作得很好,但是我如何排除更多的单选按钮组呢

我还想排除“午餐水果汁”和“午餐甜点”


谢谢

如果要从选择中排除某些单选按钮,您可能应该向要排除的单选按钮添加一个类。像这样:

HTML


演示:

这可能有点难看,但应该可以:

$("input:radio").not("input:radio[name=lunch_desserts]").not("input:radio[name=lunch_fruitjuice]").not(...)
您所要做的就是将
not()
命令一个接一个地链接起来,排除所有需要的元素

一个更好的方法是提供所有您想要处理类似类的无线电输入(例如
使用这些输入
)。这样,线路就简单到如下所示:

var targetRadioButtons = $("input.use_these_ones")
var exclude=[“午餐水果汁”、“午餐甜点”];
var targetRadioButtons=$(“输入:无线电”);
对于(变量i=0;i
我建议在所有要选择的单选按钮中添加一个公共类,然后只使用类选择器:
$(“.select me”)
。每次迭代都会覆盖
targetRadioButtons
变量。也许您想创建一个包含所有元素的数组?即使您这样做了,您也不需要使用这种循环逻辑的选择器。@Lix,您错了。not()返回JQuery对象。此代码的正确性与可链接样式工作的原因完全相同。哦对不起-是的,你是对的。。。我没有注意到它是
targetRadioButtons.不是(…)
。我仍然觉得循环是不必要的,虽然。。。(做一个假编辑来恢复我的投票。)虽然这可能会起作用,但你的代码会很快变得非常难看。你想添加另外5个被排除的元素会怎么样?是的,我刚刚意识到,我刚刚给你发了一封回复。有没有办法扭转它?我刚刚意识到我有更多的单选按钮需要包括而不是排除,你知道有没有办法扭转我发布的脚本,所以我只写我想包括的按钮?我建议使用我建议的类方法。。。只需将同一类添加到所有要忽略的元素中,然后使用
.not()
排除它们:
var targetRadioButtons=$(“输入:radio”).not(“.ignore_me_class”)<div><input type="radio" name="lunch_desserts" class="exclude" value="Jello"/> Jello</div>
<div><input type="radio" name="lunch_desserts" value="Pudding"/> Pudding</div>
<div><input type="radio" name="lunch_desserts" class="exclude" value="Candy"/> Candy</div>
<div><input type="radio" name="lunch_fruitjuice" value="Apple Juice"/> Apple Juice</div>
<div><input type="radio" name="lunch_fruitjuice" class="exclude" value="Orange Juice"/> Orange Juice</div>
<div><input type="radio" name="lunch_fruitjuice" value="Guava Juice"/> Guava Juice</div>
// Select radio buttons that do not have the exclude class
var targetRadioButtons = $("input:radio:not(.exclude)");

// Test it by disabling just the targetRadioButtons
targetRadioButtons.attr("disabled", true);
$("input:radio").not("input:radio[name=lunch_desserts]").not("input:radio[name=lunch_fruitjuice]").not(...)
var targetRadioButtons = $("input.use_these_ones")
var exclude = ['lunch_fruitjuice', 'lunch_desserts'];
var targetRadioButtons = $("input:radio");
for (var i = 0; i < exclude .length; i++)
    targetRadioButtons = targetRadioButtons.not("input:radio[name="+exclude[i]+"]");