jquery 用了3个.text()中有一个为什么获取内容为空?

Levent_ 2020-03-29 01:03:50

<td th:text="${course.name}">水彩绘画</td>
<td th:text="${course.type}">艺术类</td>
<td th:text="${course.price}">120</td>
<td>
<div class="btn-group">
<a class="btn btn-xs btn-default" title="编辑" data-toggle="tooltip"><i class="mdi mdi-pencil"></i></a>
<a class="btn btn-xs btn-default" title="删除" data-toggle="tooltip"><i class="mdi mdi-window-close"></i></a>
</div>
</td>


var tds = $(this).parent().parent().prevAll();
var name = ($(tds[0]).text());
var type = ($(tds[1]).text());
var price = ($(tds[2]).text());
alert(price);


$(this)是a标签,name和type都能正确取值,只有price为空
name和type后台传值是string类型,price是double型,不过应该跟这个没关系吧?
...全文
821 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
luj_1768 2020-03-31
  • 打赏
  • 举报
回复
price 好像应该是个显示项,输入项应该是课程选择,价格是由课程选择确定的,只需要显示、不需要输入。所以你的设计存在理论错误,系统替你纠正过来了。
jio可 2020-03-30
  • 打赏
  • 举报
回复
api返回的course是什么就是什么,你没打印吗?如果是变成字符串了就用course = JSON.parse(course)转成json.取值就用course.name course.type course.price
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 6 楼 jio可 的回复:

 <div class="btn-group" row="${course}">
        <a class="btn btn-xs btn-default" title="编辑" data-toggle="tooltip"><i class="mdi mdi-pencil"></i></a>
        <a class="btn btn-xs btn-default" title="删除" data-toggle="tooltip"><i class="mdi mdi-window-close"></i></a>
 </div>
$('.btn-group').on('click', 'a', function(){
  var course = $(this).parent('.btn-group')
  console.log(course)
})

course里面的值怎么取?val()吗?不好意思我太菜了
jio可 2020-03-30
  • 打赏
  • 举报
回复

 <div class="btn-group" row="${course}">
        <a class="btn btn-xs btn-default" title="编辑" data-toggle="tooltip"><i class="mdi mdi-pencil"></i></a>
        <a class="btn btn-xs btn-default" title="删除" data-toggle="tooltip"><i class="mdi mdi-window-close"></i></a>
 </div>
$('.btn-group').on('click', 'a', function(){
  var course = $(this).parent('.btn-group')
  console.log(course)
})

Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 3 楼 jio可 的回复:
把course对象绑定到.btn-group标签上吧,直接获取就ok了。这样取不麻烦吗 <div class="btn-group" row="${course}"></div>
我这个按钮是打开一个隐藏的模态框再赋值上去,绑到这个row上该怎么用啊?
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 2 楼 usecf 的回复:
调试看下 就知道这个有值没值
没有值
jio可 2020-03-30
  • 打赏
  • 举报
回复
把course对象绑定到.btn-group标签上吧,直接获取就ok了。这样取不麻烦吗 <div class="btn-group" row="${course}"></div>
usecf 2020-03-30
  • 打赏
  • 举报
回复
调试看下 就知道这个有值没值
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
问题解决了,我给price那一栏加了个id用id选择而不是tds[2]。 但搞不清为什么这样。
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 16 楼 jio可 的回复:
用的是编译模板引擎?jsp?
thymeleaf啊
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 17 楼 不脱单,不改名 的回复:
我觉得不应该再$(tds[2])了,直接tds[2].text()试试 var name = tds[0].text(); var type = tds[1].text(); var price = tds[2].text();
不行,语法是错的。
  • 打赏
  • 举报
回复
我觉得不应该再$(tds[2])了,直接tds[2].text()试试 var name = tds[0].text(); var type = tds[1].text(); var price = tds[2].text();
jio可 2020-03-30
  • 打赏
  • 举报
回复
用的是编译模板引擎?jsp?
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 14 楼 jio可 的回复:
打印api返回的内容是什么
也是这样的。
jio可 2020-03-30
  • 打赏
  • 举报
回复
打印api返回的内容是什么
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 10 楼 usecf 的回复:
你这个值是从哪传过来的,检查下源头
后台对象传到页面,页面上可以正常显示,但我用text()不能获取,而且只有这一个取不到。
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 11 楼 jio可 的回复:
[quote=引用 9 楼 Levent_ 的回复:] 返回的是对象呀
// 这里错了,少写了获取row属性 var course = $(this).parent('.btn-group').attr('row')[/quote] 加上后course能取到,但name这些还是取不到。
jio可 2020-03-30
  • 打赏
  • 举报
回复
引用 9 楼 Levent_ 的回复:
返回的是对象呀
// 这里错了,少写了获取row属性 var course = $(this).parent('.btn-group').attr('row')
usecf 2020-03-30
  • 打赏
  • 举报
回复
你这个值是从哪传过来的,检查下源头
Levent_ 2020-03-30
  • 打赏
  • 举报
回复
引用 8 楼 jio可 的回复:
api返回的course是什么就是什么,你没打印吗?如果是变成字符串了就用course = JSON.parse(course)转成json.取值就用course.name course.type course.price
返回的是对象呀
加载更多回复(1)

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧