【发布时间】:2021-08-06 04:12:57
【问题描述】:
这是我在 laravel 刀片文件
中的基本表格每个编辑按钮点击时都会调用一个vue方法
<types-page inline-template>
<div>
<!-- table -->
<table id="choose-address-table" class="ui-widget ui-widget-content">
<thead>
<tr class="ui-widget-header ">
<th>Name/Nr.</th>
<th>Street</th>
<th>Town</th>
<th>Postcode</th>
<th>Country</th>
<th>Options</th>
</tr>
</thead>
<tbody>
<tr>
<td class="nr"><span>50</span>
</td>
<td>Some Street 1</td>
<td>Glasgow</td>
<td>G0 0XX</td>
<td>United Kingdom</td>
<td>
<button type="button" @click="edit()">edit</button>
</td>
</tr>
<tr>
<td class="nr">49</td>
<td>Some Street 2</td>
<td>Glasgow</td>
<td>G0 0XX</td>
<td>United Kingdom</td>
<td>
<button type="button" @click="edit()">edit</button>
</td>
</tr>
</tbody>
</table>
</div>
</types-page>
这里是vue组件
它处理 edit() 方法。该方法触发正常,因为我测试过
我正在尝试使用 jquery 来选择数据并记录硬编码表中的每一行
我希望能够访问日志每一行中的数据
它的 jquery 选择器似乎无法以表为目标
<script>
export default {
name: "types-page",
data() {
return {
typeError: false
}
},
methods: {
edit() {
var $row = $(this).closest("tr"); // Find the row
var $text = $row.find(".nr").text(); // Find the text
console.log($text)
}
}
}
</script>
当我运行单击此方法时,控制台日志只是空白。
提前感谢帮助我的人
【问题讨论】:
-
你不能把“nr”作为参数传递给
edit(),比如@click="edit(49)",@click="edit(50)"吗? -
你没有正确使用vue。几乎不需要将 jquery 与 vue 一起使用,特别是在您的情况下。只需将表的数据存储在对象数组中,使用
v-for构建表,并将每行的索引传递给edit(),如 brombeer 所述