等到jQuery中的两个值发生更改
waiting until two values have changed in jquery
我有两个表单字段,并且只有在两个字段都有值时才希望使用jquery发布这些值。我已经尝试过了,但一定有更好的方法。我认为这种方式可能会导致错误
$('#RFID').change(function(e){
if($(this).val() != '' && $('#STATION_ID').val() != ''){
}
});
这不是一个特别糟糕的方法。不过可以清理一下。 我会选择这样的东西:
var $fields = $('#RFID, #STATION_ID').change(function(e) {
if ($fields[0].val() && $fields[1].val()) {
// post it
}
});
编辑:上面的代码假设您想在同时拥有两个值后立即发布。再看你的问题,我可能看错了。如果您只是想阻止表单发布,除非您同时具有这两个值,那么您确实需要这个:
$('form').submit(function(e) {
if (!$fields[0].val() || !$fields[1].val()) e.preventDefault();
});
您可以在发布帖子之前进行相同的检查:
if ($.trim($('#RFID').val()) != '' && $.trim($('#STATION_ID').val()) != '') {
// do post
}
可能会在所有可以生成表单自动提交的字段中分配一个更改处理程序。
也许为每个可以参与自动提交的字段添加一个类。
我知道更多的代码,但设置意图并在一个地方收集验证。
希望对您有所帮助。
$('.auto-submit').change(function(e) {
// collect all the auto submit fields and make sure they are not empty
for( field in $('.auto-submit') )
if( field.val() == '' ) return; // all fields not there
}
// do form submit here
} );
相关文章:
- 让两个 jquery 脚本像它们应该的那样协同工作
- 具有相同函数名称的两个 jquery 插件之间的冲突
- 简化两个 jquery 代码
- 两个jquery幻灯片护林员
- 为什么获胜't执行两个Jquery行
- 使用this和not组合两个jQuery语句
- 我很难让两个jquery脚本一个接一个地工作
- 页面上有两个jQuery应用程序,一次只能运行一个
- 同一页面中两个 jquery 手风琴的不同样式
- 如何在两个 jquery ui 选项卡中使用弹性滑块
- Browserify:如何 aviod 两个 jQuery 实例
- 两个jquery插件,第二个不工作
- 如何解决两个 jquery 冲突
- 如何设置两个 jquery cookie
- 同时打开两个 jquery 日期选取器
- 如何处理未捕获的类型错误: $(..).弹出框不是加载两个jQuery文件时的函数
- 这两个jQuery语句中没有错误,但我只是想知道为什么
- 在同一页面中使用两个 jQuery 库
- 两个jQuery选择器有什么区别
- 同一页面上的两个 jQuery 日期选择器具有不同的 CSS 样式