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