Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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在增量ID输入之间迭代_Javascript_Jquery_For Loop_Jquery Selectors - Fatal编程技术网

Javascript 使用jQuery在增量ID输入之间迭代

Javascript 使用jQuery在增量ID输入之间迭代,javascript,jquery,for-loop,jquery-selectors,Javascript,Jquery,For Loop,Jquery Selectors,我的HTML中有一些ID为的输入,比如element1、element2、element3、…elementN 如果我想在每个元素上使用选择器,我不想像这样为每个元素创建一个:$element1有没有一种方法可以使用for循环使用jQuery在element1和elementN之间进行迭代 编辑:我需要使用另一个增量ID执行验证,如下所示 var X1 = $("#element1").val(); var X2 = $("#anotherElement1").val(); if (X1 ==

我的HTML中有一些ID为的输入,比如element1、element2、element3、…elementN

如果我想在每个元素上使用选择器,我不想像这样为每个元素创建一个:$element1有没有一种方法可以使用for循环使用jQuery在element1和elementN之间进行迭代

编辑:我需要使用另一个增量ID执行验证,如下所示

var X1 = $("#element1").val();
var X2 = $("#anotherElement1").val();
if (X1 == X2)
{ 
//do something
}
Edit2添加了上下文

<input data-val="true" data-val-number="The field Element1 must be a 
number." id="Element1 " max="1000" min="0" name="EnergyAt1" step="0,1" type="text" value="18,3" 
data-role="numerictextbox" role="spinbutton" aria-valuemin="0" 
aria-valuemax="1000" 
class="k-input" aria-valuenow="18,3" aria-disabled="false" style="display: none;">

<input data-val="true" data-val-number="The field AnotherElement1 must be a 
number." id="AnotherElement1 " max="1000" min="0" name="EnergyAt1" step="0,1" 
type="text" value="18,3" data-role="numerictextbox" role="spinbutton" aria- 
valuemin="0" aria-valuemax="1000" class="k-input" aria-valuenow="18,3" aria- 
disabled="false" style="display: none;">

我需要做的是一个绑定到submit按钮的函数,该函数检查1到N之间的每个元素,如果ElementX.val!=0&&AnotherElementX==0阻止表单的提交。

假设每个以元素开头的ID都是您想要选择的,您可以使用选择器字符串[ID^=element],它将选择ID以元素开头的所有ID:

$'[id^=element]'。每个函数{ console.log$this.text; }; e1 e2 e3
e4由于几个原因,我无法按照建议使用类,最后在同事的帮助下围绕我的用例构建了一个for循环,下面是代码:

function checkIfAnotherElementIsZero(e) {
        var canSubmit = true;
        for (let i = 1; i <= 24; i++)
        {
            if ($("#Element" + i).val() != 0 && $("#AnotherElement" + i).val() == 0) 
            {
                alert('Error');
                canSubmit = false;
                break;
                e.preventDefault();
            }
        }
        if (canSubmit == true)
        {
             $( "input[name=Date]" ).addClass( "data-val-ignore" );
             $( "#@ContextControllerName" ).submit();
        }
        else
        {
            e.preventDefault();
        }
    }

使用单个公共类。这是增量id属性是反模式的原因之一,因为我需要对增量id的其他输入进行验证,而不是不使用类的原因。如果有什么区别的话,这听起来更像是正确使用类的一个理由。如果您可以用一点html元素外观的示例来扩展这个示例,并扩展示例X3与您的演示中的比较,那就太好了。他们都应该互相比较吗?成套的?Unicorn?在Edit2中这样做了。这是一个很好的答案,但我无法成功地在代码中复制它,我已经在一篇博文中发布了对我有用的东西。