不要选择是否隐藏父类

时间:2016-07-28 08:10:14

标签: jquery

使用下面的代码,我选择所有复选框和所有单选按钮将它们发送到阵列。

var options = [];
$('.option input[type="checkbox"]:checked, .option input[type=radio]:checked').each(function() {
    options.push($(this).val());
});
var options_checked = options.join(',');

有一些单一的单选按钮具有父类sass_syntax,当然它们也会被选中。如果隐藏了班级sass_syntax,我不想选择它们(display: none)。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

您可以使用.not()过滤器

排除它们
var options = $('.option input[type="checkbox"]:checked, .option input[type=radio]:checked').not('.sass_syntax:hidden input').map(function() {
  return $(this).val();
}).get();
var options_checked = options.join(',');

答案 1 :(得分:1)

您也可以使用:not()

进行检查
var options = [];
$('.option input[type="checkbox"]:checked, .option input[type=radio]:checked:not(.sass_syntax:hidden)').each(function() {
    options.push($(this).val());
});
var options_checked = options.join(',');

答案 2 :(得分:1)

使用jquery' hasClass'在输入复选框/ radiobutton的父元素

中查找类
final Map<String, String> extraHeaders = new HashMap<>();
extraHeaders.put("Authorization", "Bearer " + accessToken);
webView.getSettings().setJavaScriptEnabled(true);

webView.setWebViewClient(new WebViewClient() {
  @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
    extraHeaders.put("Authorization", "Bearer " + accessToken);
    view.loadUrl(url, extraHeaders);
    return super.shouldOverrideUrlLoading(view, url);
  }