当同一行中的另一个单元格在Javascript中具有值时,验证是否需要某个单元格

当同一行中的另一个单元格在Javascript中具有值时,验证是否需要某个单元格,javascript,php,jquery,forms,validation,Javascript,Php,Jquery,Forms,Validation,在我的表单中,有几行有两个输入字段。如果选择了产品单元格,我想在数量单元格中获取所需的错误。这应该发生在每一行。目前,我有一个jquery函数,我分别用于每一行和每一行。我想要一个单一的功能,可以为每一行工作。希望有人能帮我解决问题。多谢各位 我已附上我的代码作为参考 $('#product1')。更改(函数(){ if($(this).val()!=null){ $('quantity1').prop('required',true); } }); $('#product2')。更改(函数(

在我的表单中,有几行有两个输入字段。如果选择了产品单元格,我想在数量单元格中获取所需的错误。这应该发生在每一行。目前,我有一个jquery函数,我分别用于每一行和每一行。我想要一个单一的功能,可以为每一行工作。希望有人能帮我解决问题。多谢各位

我已附上我的代码作为参考

$('#product1')。更改(函数(){
if($(this).val()!=null){
$('quantity1').prop('required',true);
}
});
$('#product2')。更改(函数(){
if($(this).val()!=null){
$('quantity2').prop('required',true);
}
});
$('#product3')。更改(函数(){
if($(this).val()!=null){
$('quantity3').prop('required',true);
}
});

--选择一个产品--
产品1
产品2
产品3
--选择一个产品--
产品1
产品2
产品3
--选择一个产品--
产品1
产品2
产品3
编辑后的答案--最初并没有注意到您试图根据所选的元素创建一个不同的必需元素,这更有意义

    $('.productSelect').on('change', function(event){

    var elementID = $(event.target).attr("id");
    var numberPart = elementID.replace("#product", "");

    if ($(event.target).val() != null ) {
        $("#quantity" + numberPart).prop('required', true);
    }
});

我更改了类选择器,因此要使其工作,您必须将“productSelect”类添加到html中。使用event.target可以破译实际编辑的元素并对其进行修改,而无需为每个元素声明函数。我还没有测试过这个,但我认为它可能与您的目标非常接近。

这是解决我问题的正确方法

$('.productSelect').change(函数(){
var elementID=$(this.attr(“id”);
var numberPart=elementID.split(“t”,2);
if($(this).val()!=null){
$(“#数量”+numberPart[1]).prop('required',true);
}

});通过使用类而不是id的
$('.select2')启动您的mod。更改(函数(){
@riggsfully当我使用类时,当选择特定的单个产品单元格时,我在每行的数量单元格中都会收到错误消息。因此,现在在jquery中查找
.next()
manual@RiggsFolly
$('.select2')。更改(函数(){if($(this.val()!=null){$(this.next('input').prop('required',true);})
我已经按照您的指示完成了这项工作。但是,无法为您的响应获取正确的输出。但不幸的是,它不起作用。我尝试了
elementID.split
而不是
elementID.replace
。但是没有得到输出。如果在声明elementID之后记录它的值会发生什么情况呢?还有它刚才我听说我应该写[replace(“product”,简称“);]——不,您好。感谢您的支持。我做了一些小改动,现在它工作得非常好。我在下面提到了正确的解决方案。谢谢