Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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_Jquery_Html_Forms - Fatal编程技术网

Javascript 向用户选择的行添加选择验证

Javascript 向用户选择的行添加选择验证,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有这个表格,收集用户提交的数据。我遇到的问题很简单,但我不知道如何找到解决方法 此表单有多行,每行在提交时保存到db。我使用CakePHP后端处理数据。我验证此表单的正确方法是什么?我可以在输入字段中添加必需的属性,但当我这样做时,每个输入字段都需要使用相关数据进行归档 有没有一种方法可以使它成为当用户选择一行时,该行将获得验证属性,这样整行都必须填充数据?用户选择第1行选择商店下拉列表,然后必须填写整行以提交表单 这就是我的行的结构 我将向您解释实现目标的逻辑: 通过在行上使用JQuery,

我有这个表格,收集用户提交的数据。我遇到的问题很简单,但我不知道如何找到解决方法

此表单有多行,每行在提交时保存到db。我使用CakePHP后端处理数据。我验证此表单的正确方法是什么?我可以在输入字段中添加必需的属性,但当我这样做时,每个输入字段都需要使用相关数据进行归档

有没有一种方法可以使它成为当用户选择一行时,该行将获得验证属性,这样整行都必须填充数据?用户选择第1行选择商店下拉列表,然后必须填写整行以提交表单

这就是我的行的结构


我将向您解释实现目标的逻辑:

通过在行上使用JQuery,您将知道eventObject参数选择了哪一行 现在,您将为该行激活一个事件,该行由类型和id标识,以区分要验证的数据类型,例如HTML属性,如required、maxlength等。。。 还启用行上的事件以检查所有字段是否为空。在这种情况下,您必须删除以前设置的所有验证规则。
创建一个函数validateRow,然后遍历所有行,每次找到选定行时,都会触发该函数进行行验证…明白。我去试试看D@ZakariaAcharki我使用了一个验证程序库。你能看一下吗?如何将第一个下拉列表作为目标而不是输入字段?
        <div class="row txtMult">
            <div class='col-md-2 nopadding'>
                <div class='form-group nomarg'>
                    <select class="shop-name form-control select2" name="Quotationitems[0][shop_id]" style="width: 100%;">
                        <option selected="selected" >Select a Shop</option>
                        <?php
                        if (!empty($ShopsItems)) { 
                            foreach ($ShopsItems as $shop):        
                                ?> 
                                <option data-link="#<?= h($shop->id)?>" value="<?= h($shop->id)?>"><?= h($shop->shopname)?></option>
                            <?php endforeach;  } ?> 
                        </select>
                    </div>
                </div>

                <div class='col-md-1 nopadding'>
                    <div class='form-group nomarg text-center'>
                        <a href="#" data-toggle="modal" class="btn btn-success shop-value"><i class="fa fa-fw fa-info-circle"></i></a>
                    </div>
                </div>

                <div class='col-md-2 nopadding'>
                    <div class='form-group nomarg'>
                        <select class="material-price form-control select2" name="Quotationitems[0][material_id]" style="width: 100%;">
                            <option selected="selected" >Select the Material</option>
                            <?php
                            if (!empty($MaterialItems)) { 
                                foreach ($MaterialItems as $material):        
                                    ?> 
                                    <option data-price="<?= h($material->unitprice)?>" value="<?= h($material->id)?>"><?= h($material->name)?></option>
                                <?php endforeach;  } ?> 
                            </select>
                        </div>
                    </div>

                    <div class='col-md-1 nopadding'>
                        <div class='form-group nomarg'>
                            <input type='number' id="width" name="Quotationitems[0][width]" min='0' class='form-control val1'>
                        </div>
                    </div>

                    <div class='col-md-1 nopadding'>
                        <div class='form-group nomarg'>
                            <input type='number' id="height" name="Quotationitems[0][height]" min='0' class='form-control val2'>
                        </div>
                    </div>

                    <div class='col-md-1 nopadding'>
                        <div class='form-group nomarg'>
                            <input type='number' id="sqft" name="Quotationitems[0][sqft]" min='0' class='multTotal form-control val3' readonly>
                        </div>
                    </div>

                    <div class='col-md-1 nopadding'>
                        <div class='form-group nomarg'>
                            <input type='number' id="unitprice" name="Quotationitems[0][unitprice]"  min='0' class='form-control val4 material-total'>
                        </div>
                    </div>

                    <div class='col-md-1 nopadding'>
                        <div class='form-group nomarg'>
                            <input type='number' id="amount" name="Quotationitems[0][amount]"  min='0' class='form-control val5'>
                        </div>
                    </div>

                    <div class='col-md-2 nopadding'>
                        <div class='form-group nomarg'>
                            <input type='number' id="subtotal" name="Quotationitems[0][subtotal]" min='0' class='form-control multTotal2' readonly>
                        </div>
                    </div>
                </div>