Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery条件语句_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery条件语句

Javascript Jquery条件语句,javascript,jquery,html,Javascript,Jquery,Html,我的html 但它不起作用 1如何仅获取复选框已关闭且具有fromInput文本区域的行? 2如何浏览它们并访问两个文本区域的val?我相信这可以优化,但我认为它会起作用 var editableRows = $("td.from .fromInput"); for (s in editableRows) { $s.val("test value"); } 请参阅它在JSFIDLE上的工作: 应该是你需要的。所有未检查任何内容但具有“fromInpu

我的html

但它不起作用

1如何仅获取复选框已关闭且具有fromInput文本区域的行?
2如何浏览它们并访问两个文本区域的val?

我相信这可以优化,但我认为它会起作用

   var editableRows = $("td.from .fromInput");
    for (s in editableRows)
    {
       $s.val("test value");
    }
请参阅它在JSFIDLE上的工作:

应该是你需要的。所有未检查任何内容但具有“fromInput”类输入的行

如果您想通过循环获取任何textarea的值,只需扩展选择器:

$("tr:not(:has(:checked)):has(input.fromInput)")
或者如上所述,如果您希望能够区分它们:

$("tr:not(:has(:checked)):has(textarea.fromInput) textarea")
我不知道性能在这里有多重要,但如果是这样的话,那么与其编写选择器来查找包含textarea的行,不如将类添加到行本身

$("tr:not(:has(:checked)):has(textarea.fromInput)")
  .each(function() {
    var from = $(this).find("td.from textarea").val();
    var to = $(this).find("td.to textarea").val();
  })

您可以使用此选项选择行:

$("tr.hasTextarea:not(:has(:checked))")
现场演示:

正如您在演示中看到的,只有包含TEXTAREA元素和未选中复选框的行才会被选中

但是,我建议您为行设置类:包含TEXTAREA元素的TR元素应该有一个特定的类集合,比如方向。然后您可以像这样轻松地选择这些行:

$('tr', '#yourTable').has('input:checkbox:not(:checked)').has('textarea')

谢谢,但是我只需要抓取那些有复选框的行,没有选中,并且有文本区域。上面将给出仅选中复选框的行;这不是我想要的!。myChk:检查了td.from.fromInput之类的东西?我如何有条件地说未检查?我已更新了我的答案。。您应该使用tr:not:has:checkedthanks!很好,但是因为我需要从特定表中获取行,所以我将其更改为$tabledetails表tr:not:has:checked.eachfunction I,tr{…},并且我总是得到一个额外的行…显然我有一个标题行,但它没有复选框,所以我想知道Jquery是否认为no checkbox=not checkbox。它快把我逼疯了!不幸的是,这在IE中非常缓慢,我正在将其切换回一种不太好但更快的方式。叹气
<tr class="hasTextarea">
$("tr.hasTextarea:not(:has(:checked))")
$('tr', '#yourTable').has('input:checkbox:not(:checked)').has('textarea')
$('tr.directions', '#yourTable').each(function() {
    if ( $(this).find('input:checkbox')[0].checked ) return;  

    // do your thing
});