gpt4 book ai didi

javascript - 提交值

转载 作者:行者123 更新时间:2023-11-28 08:50:25 27 4
gpt4 key购买 nike

我想创建带有 xy 结果的表单

例如,单独检查“A”可能会产生结果 1,而如果同时检查“A”和“B”则答案是结果 2。D、E、A 可能给出结果 3,而 B、E、A 给出结果结果 2。希望您明白这一点。

<form action="">
<input type="checkbox" name="options" value="A" />Choice A<br />
<input type="checkbox" name="options" value="B" />Choice B<br />
<input type="checkbox" name="options" value="C" />Choice C<br />
<input type="checkbox" name="options" value="D" />Choice D<br />
<input type="checkbox" name="options" value="E" />Choice E<br />
<br />
<input type="submit" value="answer">

jquery 就是这样的

$(':checkbox').click(function () {
var value = $(this).val();

if ($(this).val(["A","B","C"]).is(':checked'))
$('.result1').show(value);
else
$('.result1').hide(value);

if ($(this).val(["A","D","E"]).is(':checked'))
$('.result2').show(value);
else
$('.result2').hide(value);

这不起作用,所以如果你能帮助我那就太好了!

最佳答案

因此,给定 A、B 和 C,您想做某事。这与 A、B 和 E 不同,它们可能会做其他事情。我想出了这个:

$(':checkbox').click(function () {
var checkedBoxes = $(':checked');
var values = new Array();
$.each(checkedBoxes, function(index, value) {
var checkboxValue = $(value).val();
values.push(checkboxValue);
});

if (containsOnly(values, ['A', 'B', 'C'])) {
alert('Hi');
}
if (containsOnly(values, ['A', 'D', 'E'])) {
alert('Bye');
}
});

function containsOnly(needles, haystack){
if (needles.length !== haystack.length) {
return false;
}
var result = _.intersection(needles, haystack).length === haystack.length;
return result;
}

所以,它的作用是抓取所有选中的复选框,然后抓取其中包含的值。一旦获得值,它就会使用 UnderscoreJS (underscorejs.org) 的交集来比较它们。这意味着我们可以检查是否(且仅当)所有值都包含在数组中。

一旦检查完成并且满足条件,它就会执行某些操作。

另外,为什么要在 js 下划线?它为 JavaScript 提供了许多非常有用的类似 LINQ 的表达式,并且可以帮助您避免重新发明轮子。对于迭代器函数来说绝对值得,因为它可以节省您的时间和精力。

一如既往, fiddle :http://jsfiddle.net/KyleMuir/bUdra/5/

希望这有帮助

关于javascript - 提交值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19219594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com