一页里有两个表格.如何设置jQuery脚本不影响两个表单按钮
I have two forms in a page. How to set the jQuery script not to affect both forms buttons?
在我的页面我有两个窗体。jQuery脚本禁用表单的两个按钮,直到一个下拉值被选中,如您在这里看到http://jsfiddle.net/baW53/
问题是我只需要激活下拉值被更改/选择的按钮。现在,如果我在第一个表单上选择一个值,它也会激活第二个表单的按钮。但是它只能激活同一个表单的按钮。
如何做到这一点?
var jq = $.noConflict();
jq(document).ready(function (){
validate();
jq('select').change(validate);
});
function validate(e){
var validation = true;
jq('select').each(function(){
if(jq(this).val().length>0)
{
validation = false;
}
});
if ( validation ) {
jq('.submit').prop('disabled', true);
} else {
jq('.submit').prop('disabled', false);
}
}
<form name="forma" method="POST" action="used-results.php" id="apliforma">
dropdown menus
<button type="submit" class="btn btn-primary submit" id='submit' >submit</button>
</form>
<form name="forma2" method="POST" action="used-results.php" id="sinthetiforma">
dropdown menus
<button type="submit" class="btn btn-primary submit" id='submit2' >submit</button>
</form>
你必须像别人说的那样使用选择器。下面是对jsfiddle的修改:http://jsfiddle.net/baW53/1/
基本上,如果是初始调用,我们改变所有按钮的属性,即,类为submit
的按钮,否则我们找到下拉菜单的兄弟按钮并使用其id。
这是相关的部分:
if (e) {
var btn = "#" + jq(this).siblings('button').attr('id');
} else {
var btn = ".submit";
}
您选择每个提交按钮与此选择器jq('.submit')
,您需要使其更具体。有很多方法可以做到这一点。
一种方法是从你的事件对象中获得选择控件,然后写一个模式到它的父窗体,然后到选择按钮。
得到最接近的形式:jQuery查找父表单
jq(ev).closest("form").find(".submit")
我不确定ev
是正确的,您可能必须从事件中挖掘控制
您可以使用更复杂的选择器找到特定的元素。例如,如果你给你的表单id="forma"
和id="formb"
,你可以做jq(#forma .submit)
来获得一个按钮。
如果你坚持使用name
属性,我相信选择器将是jq([name="forma"] .submit)
或接近它的东西。
相关文章:
- 在同一页上的两个脚本中使用全局变量
- JavaScript - 需要帮助组合两个脚本
- 加载两个脚本块(使用lab.js作为加载管理器)
- 如何使用jquery或vanillajavascript从iframe中获取两个脚本src
- 当我在一个html页面上添加两个脚本时,其中一个不起作用
- 在 HTML 上运行两个脚本(Java 脚本)
- 原型:这两个脚本之间的区别
- 两个脚本不会同时工作
- 组合两个脚本以在所有浏览器上保存Google图表时出现问题
- 如何合并两个脚本并同时触发它们
- jQuery结合了两个脚本来实现对锚点的平滑滚动
- 如何链接两个脚本
- 两个脚本出现Jade渲染错误,未捕获语法错误:意外的令牌<
- 单击来自同一元素上两个脚本的事件
- 使用jquery.on()方法处理同一元素(选项标记)的两个脚本之间的冲突
- 同一页面上的两个表单和两个脚本,第一个脚本将被调用而不考虑提交
- 使用服务器从两个脚本发送的事件
- 为什么'我的两个脚本都不能在html中工作
- 两个脚本(FitVids.js,Vimeo.js)一起杀死调用一个函数来播放视频,导致:VimeoAPI不是一个函数
- 是否可以让HTML中的一个链接执行两个脚本