我使用此代码来跟踪表单上是否有任何更改:
$(document).on('input', '.track', function() {
var form = $(this);
});
由于这不会触发复选框,单选按钮和文件输入,我还使用此代码段来处理跟踪中的这些元素形式:
$(document).on('change', '.track [type="checkbox"], .track [type="radio"], .track [type="file"]', function() {
var form = $(this).closest('form');
});
我现在的问题是:如何简化此选择器?
.track [type="checkbox"], .track [type="radio"], .track [type="file"]
表单是动态来来去去所以我必须使用.on()
- 方法,而不能预先选择所有必需元素,例如$('.track').find('[type="checkbox"], …');
答案 0 :(得分:1)
使用event.target
$(document).on('change', '.track', function(event) {
if(['file', 'checkbox', 'radio'].indexOf($(event.target).attr('type')) > -1){
var form = $(this).closest('form');
}
});
答案 1 :(得分:0)
一种简化是使用:checkbox
,:radio
和:file
:
'.track :checkbox, .track :radio, .track :file'
如果您不想重复自己,可以使用:not
做一些小技巧:
'.track :not(:not(:checkbox, :radio, :file))'
然后你开始进入“丑陋”的领域。
答案 2 :(得分:0)
试试这个
var authCode = result.auth;
var options = { auth: authCode,
type: "item",
id: podioId,
hook: false,
body:{value:comment}}
podio.commentsAddCommentToObject(options,function(err,result){
if(err) throw err;
console.log(util.inspect(result, { showHidden: true, depth: null }))
});