javascript - onclick 定义的 text-var 在日志上返回空字符串

标签 javascript jquery extjs ext.net

var listname=$(this).parents(".x-grid3-row-table").children(".x-grid3-cell-inner.x-grid3-col-1").text();
console.log(listname);

console.log 返回以下内容:

(an empty string)

你能帮我解决为什么列表名称为空吗?您还能告诉我如何将 listname 作为参数传递给 Ext.Ajax.request 中的服务器端方法吗?

这是来 self 生成的页面的 html 代码:

<table class="x-grid3-row-table>
  <tr>
   <td class="x-grid3-col x-grid3-cell x-grid3-td-1 " tabindex="0" style="text-align: left;width: 265px;">
     <div class="x-grid3-cell-inner x-grid3-col-1" unselectable="on">foo_bar@domain.de</div>
   </td>
   <td class="x-grid3-col x-grid3-cell x-grid3-td-2 x-grid3-cell-last " tabindex="0" style="width: 59px;">
      <div class="x-grid3-cell-inner x-grid3-col-2" unselectable="on">
        <span class="free">free</span>
       </div>
   </td>
  </tr>
  <tr class="x-grid3-row-body">
  <!-- 7 Elements Markup down, who all act wrapping for the following -->
    <div class="details">
      <!-- some other markup elements, who also contain data, but are not further interesting-->
      <td class="data"> foo bar detail data </td><!-- not of interest-->
      <td class="edit"><input value="edit" onclick="see function on top" type="button" /> </td>
    </div>
  </tr>
</table>

目标是提取:foo_bar@domain.de并将其作为参数传递给服务器方法。该方法应该创建一个窗口,但这是一个不同的故事。

onclick 调用来自扩展的网格面板主体,该主体使用给定的 html 代码包装在 table('.x-grid3-row-table') 中。

最佳答案

您的子选择器中的类名称之间有一个空格,但是您的标记表明这两个类名称属于相同的元素。

要选择具有多个类名的元素,选择器类名之间不应有空格,如 .classname1.className2 .

var listname=$(this).parents(".x-grid3-row-table").children(".x-grid3-cell-inner.x-grid3-col-1").text();
console.log(listname);

应该可以。

进一步说明: 如果类名之间有空格,则意味着您正在尝试选择具有 .x-grid3-col-1 的元素。 .x-grid3-cell-inner内的类(class)类(class)。这就是亲子关系。

编辑:

如果您的按钮位于下一行,您可以使用 .prev()结合使用 tr 的 JQuery 选择器作为父选择器而不是表。

listname=$(this).parents("tr").prev().children(".x-grid3-cell-inner.x-grid3-col-1").text();

或者如果它在同一行,则只需

listname=$(this).parents("tr").children(".x-grid3-cell-inner.x-grid3-col-1").text();

关于javascript - onclick 定义的 text-var 在日志上返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747818/

相关文章:

javascript - Bootstrap 中嵌套选项卡的 prev next 函数

JQuery 输入[type=date] 选择器

extjs - ExtJs 网格中的文本字段不可选

javascript - 如何从内部函数调用外部函数的返回?

php - 当我从 PHP 传递字符串时,ajax 代码停止运行

forms - ExtJS 表单发送了两次

javascript - 在 Ext JS 4.2 中创建 D3 可折叠树

javascript - 如何在 Chrome 控制台中调试报告的错误?

javascript - 父窗口重新加载后如何获取所有打开的子窗口的引用

javascript - 你反对基于 JavaScript 的 LESS 吗?