Javascript 如何使用vue获取所选的文本?

Javascript 如何使用vue获取所选的文本?,javascript,jquery,html,vue.js,Javascript,Jquery,Html,Vue.js,我有一个动态表,在其中我使用$.ajax从数据库中获取数据。行中的数据是可编辑的,我需要用vue.js保存相同内容的更改。更改内容后,将为此触发一个带有4个参数名称、客户端id、url和id的$.ajax函数。我试图找到一种方法来获取输入值+数据库id。我有jquery中的代码,但我需要让它更Vue化。我该怎么做 以下是表格的HTML: HTML: 看起来您在数据中定义了名称、客户端id、重定向URL、id,但在agr上也有这些属性。在这种情况下,您不需要向editRedirect传递任何信息,

我有一个动态表,在其中我使用$.ajax从数据库中获取数据。行中的数据是可编辑的,我需要用vue.js保存相同内容的更改。更改内容后,将为此触发一个带有4个参数名称、客户端id、url和id的$.ajax函数。我试图找到一种方法来获取输入值+数据库id。我有jquery中的代码,但我需要让它更Vue化。我该怎么做

以下是表格的HTML:

HTML:

看起来您在数据中定义了名称、客户端id、重定向URL、id,但在agr上也有这些属性。在这种情况下,您不需要向editRedirect传递任何信息,只需使用数据属性即可

$.ajax({
    ...
    data: {
        name: this.name,
        client_id: this.client_id,
        redirectUrl: this.redirectUrl,
        id: this.id,
    },
    ...
})

如果要使用v-for循环来迭代某些表行集,那么只需将当前项传递给editdirect即可

我看到您正在使用contenteditable,但我不知道使用v-model有什么好的支持。您最好使用输入或文本区域。然后在表格单元格中可以执行此操作

<tr v-for="item in stuff>
  <td><input type="text" v-model="item.name"></td>
  <td><input type="text" v-model="item.client_id"></td>
  <td><input type="text" v-model="item.url"></td>
  <td>
      <button @click="editRedirect(item)">Edit</button>
  </td>
</tr>

这将允许您更新值。

触发editRedirect方法的代码在哪里?啊,很抱歉。我将编辑代码,将单击事件放在正确的按钮上。完成。您现在可以检查:何时在数据中设置所有这些名称、客户端id等?名称、客户端id等是my$.ajax函数编辑数据的参数。我的目标是从动态表中获取所选行的值,这样我不仅可以更改文本,而且当我单击“编辑”按钮时,更改也会转到数据库。当我在三个输入上插入数据时,数据被设置,当我单击保存按钮时,数据被保存并附加到表中。这真的很有帮助!非常感谢:顺便说一句,v-model仅适用于输入和选择标记。我的函数中的console.logs显示为空。:/这些是console.logname;console.logclient_id;console.logurl;console.logid@Timmy您当前的代码是什么样子的?如果您切换到pass item,则它将是console.logitem.name。@Timmy下面是一个如何工作的示例。我有循环,v-on:click='editRedirectagr'和数据:{name:this.agr.name,client\u id:this.agr.client\u id,redirectUrl:this.agr.redirectUrl,id:this.agr.id,}
$.ajax({
    ...
    data: {
        name: this.name,
        client_id: this.client_id,
        redirectUrl: this.redirectUrl,
        id: this.id,
    },
    ...
})
$.ajax({
    ...
    data: {
        name: this.agr.name,
        client_id: this.agr.client_id,
        redirectUrl: this.agr.redirectUrl,
        id: this.agr.id,
    },
    ...
})
<tr v-for="item in stuff>
  <td>
      <button @click="editRedirect(item)">Edit</button>
  </td>
</tr>
$.ajax({
    ...
    data: {
        name: item.name,
        client_id: item.client_id,
        redirectUrl: item.redirectUrl,
        id: item.id,
    },
    ...
})
<tr v-for="item in stuff>
  <td><input type="text" v-model="item.name"></td>
  <td><input type="text" v-model="item.client_id"></td>
  <td><input type="text" v-model="item.url"></td>
  <td>
      <button @click="editRedirect(item)">Edit</button>
  </td>
</tr>