Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Jquery 显示的警报不正确_Jquery - Fatal编程技术网

Jquery 显示的警报不正确

Jquery 显示的警报不正确,jquery,Jquery,我的申请有一个问题,那就是。请按照以下步骤操作: 打开应用程序时,单击open Grid并选择选项4。按钮A、B、C和D将出现在下面 在“答案数”文本框中,键入数字1。然后单击A、B、C或D中的1个按钮,所选按钮将变为绿色。完成后,单击添加问题按钮 如您所见,您在顶部输入的详细信息将显示在下面的新行中。在您添加的新行中,在“答案数”列下的文本框中,将数字1更改为2。现在单击下面的“提交详细信息”按钮 应出现一个警报,说明您选择的答案少于所需数量。这是正确的,因为在文本框中,您表示需要2个答案,但

我的申请有一个问题,那就是。请按照以下步骤操作:

打开应用程序时,单击open Grid并选择选项4。按钮A、B、C和D将出现在下面

在“答案数”文本框中,键入数字1。然后单击A、B、C或D中的1个按钮,所选按钮将变为绿色。完成后,单击添加问题按钮

如您所见,您在顶部输入的详细信息将显示在下面的新行中。在您添加的新行中,在“答案数”列下的文本框中,将数字1更改为2。现在单击下面的“提交详细信息”按钮

应出现一个警报,说明您选择的答案少于所需数量。这是正确的,因为在文本框中,您表示需要2个答案,但在“答案”列下,您只选择了1个答案按钮,该按钮已变为绿色

问题是,当您执行以下两个步骤时

再次单击添加问题按钮,这样您就添加了第二行,其中包含顶部的详细信息

在添加的第二行中,将“答案数”文本框下的文本框中的值从1更改为3,并从按钮A、B、C或D中选择3个答案。3个按钮必须变为绿色

现在单击提交详细信息按钮。这一次,警报显示两条消息,说明您选择的答案超过了所需数量

这是完全错误的,因为在第一行中,您选择的答案少于所述金额,在第二行中,您选择了正确数量的按钮,因此它应该会出现一个警报,说明您选择的答案少于所需金额,因为这对于第一行是正确的

我的问题:

为什么它会显示此wierd警报,为什么当它应该是警报中的一条消息时会出现两条消息?。此外,如果多行中有错误,那么我只希望在最上面一行显示一个警报。当这是固定的,我想然后为下一行的警报,依此类推

以下是相关的验证代码,我认为问题在于var上下文,因为我认为变量是错误的,但我不确定:

 function validation() {

                var context = $('#qandatbl');
    var currenttotal = context.find('.answerBtnsOn').length;    

    alertValidation= "";
        // Note, this is just so it's declared...

        $(".numberAnswerTxtRow").each(function() {
        if (!this.value) {
            alertValidation += "\nPlease Enter in the Number of Answers you Require for this question\n";
        }
    else if (currenttotal > $(this).val()){
        alertValidation += "\nYou have selected more answers than the required amount\n";
    }

    else if (currenttotal < $(this).val()) {
        alertValidation += "\nYou have selected less answers than the required amount\n";
    }
    });


    if(alertValidation != "")
    {
        alert(alertValidation);
        return false;
    }
这将统计整个表中选择的按钮数,而不仅仅是当前行。您应该使用$.each中的行


请注意,您的状态无论如何都应该与DOM分开,但既然您已经这样做了……

您应该有var-alertValidation=;我记得这一次,但你当时是另一个用户。你有可能只使用一个用户吗?嗨,是的,对不起,我不得不使用这个帐户,因为一些奇怪的原因firefox不工作,我在firefox和IE之间使用不同的帐户,当问题解决后,我将使用一个用户。这是一个备份帐户
var context = $('#qandatbl');
var currenttotal = context.find('.answerBtnsOn').length;  
 $(".numberAnswerTxtRow").each(function() {
     var currenttotal = $(this).closest('.optionAndAnswer')
                               .find('.answerBtnsOn')
                               .length;