如何使这个JQuery以页面上的两个表单为目标?

如何使这个JQuery以页面上的两个表单为目标?,jquery,forms,select,Jquery,Forms,Select,我在登录页上重复了相同的表单两次 表单有两个选择框,如果第一个选择框的值为“Parking”,则第二个选择框显示价格列表 如果它显示任何其他值。。然后显示一组不同的选项 目前我必须编写两次代码,但要替换表单类 我能一次完成吗 选择不需要在每个表单中镜像,只需以相同的方式运行即可 $( ".regprod" ).change(function() { var selected = $("select.regprod option:selected").val(); if(selec

我在登录页上重复了相同的表单两次

表单有两个选择框,如果第一个选择框的值为“Parking”,则第二个选择框显示价格列表

如果它显示任何其他值。。然后显示一组不同的选项

目前我必须编写两次代码,但要替换表单类

我能一次完成吗

选择不需要在每个表单中镜像,只需以相同的方式运行即可

$( ".regprod" ).change(function() {
    var selected = $("select.regprod option:selected").val();
    if(selected === "Parking" || selected === ""){
        $(".forma .strg-price").hide().attr("required", false);
        $(".forma .park-price").show().attr("required", true);
    }
    else {
        $(".forma .strg-price").show().attr("required", true);
        $(".forma .park-price").hide().attr("required", false);
    }
});

$( ".regprod2" ).change(function() {
    var selected = $("select.regprod2 option:selected").val();
    if(selected === "Parking" || selected === ""){
        $(".formb .strg-price").hide().attr("required", false);
        $(".formb .park-price").show().attr("required", true);
    }
    else {
        $(".formb .strg-price").show().attr("required", true);
        $(".formb .park-price").hide().attr("required", false);
    }
});
谢谢,我已经更新了以下内容:

    $( ".regprod" ).change(function() {

    var $form = $(this).closest('form');

    var selected = $form.find("select.regprod option:selected").val();

    if(selected === "Parking" || selected === ""){
        $form.find(".strg-price").hide().prop("required", false);
        $form.find(".park-price").show().prop("required", true);
    }
    else {
        $form.find(".strg-price").show().prop("required", true);
        $form.find(".park-price").hide().prop("required", false);
    }
});

您可以在选择器中使用逗号

$('.regprod,.regprod2').change()
然后,要在脚本中以表单为目标,您可以使用
.closest()

然后做:

$form.find('.strg-price').stuff()

很好,但还不止这些。您还必须使用
this
来代替
select.regprod2
这样做,只要对一个表单进行更改,函数的内容就会同时更改两个表单。谢谢,对于如何选择$forms selected option,我有点困惑。您只需执行
$form.find('select')。val()
获取所选值。使用公共类和任何横向方法以特定元素为目标。现在您最好发布相关的HTML标记,以获得特定的帮助。仅供参考,由于
required
是一个布尔属性,因此最好使用
.prop('required',true)
A.Wolff的方法正是您需要做的。如果您可以编辑您的问题以包含HTML结构,我们可以为您提供一个更完整的示例,说明如何执行此操作。谢谢,我不知道如何使用.prop。再次感谢,我无法选择这些评论作为答案,我已经使用了Bill“Answer”中提到的内容,因此我将在可能的情况下选择它作为答案。再次感谢
$form.find('.strg-price').stuff()