gpt4 book ai didi

javascript - 如何动态地将 id 提供给我的输入字段,就像我在 vue js html 中的音译 id 一样?

转载 作者:行者123 更新时间:2023-12-03 02:02:45 25 4
gpt4 key购买 nike

我正在做一个项目。在一种情况下,我需要动态添加输入字段。在这种情况下,第一个输入字段的音译可以正常工作。对于第二个输入字段及之后的音译不起作用。因为音译 id 只适用于一个输入字段。那么,如何动态更改输入字段的 id 和音译 id 呢?我是 javascript 的初学者,我无法解决这个问题。请帮助我。

所以,动态添加输入字段的代码是

   <div class="row" v-for="(book, index) in seziure" :key="index">


<div class="col-md-4">
<div class="form-group label-floating">
<label class="control-label">Date </label>
<input type="date" class="form-control" v-model="book.date" >
</div>
</div>
<div class="col-md-8">
<div class="form-group label-floating">
<label class="control-label"> Details</label>
<input type="text" class="form-control" v-model="book.details" id="transliterateTextarea2">
</div>
</div>

</div>
<a @click="addNewRow">Add Another </a>

因此,每当我单击“添加另一个@addNewRow”时,我都会得到一个新的输入字段,但音译不起作用。我认为出现问题是因为 id="transliterateTextarea2"仅适用于一个输入字段。

那么,当我点击 @addNewRow 时,我怎样才能更改音译 ID。

我的脚本是

addForm = new Vue({
el: "#addForm",
data: {
seziure:[
{
date: null,
details: null,

},
],
},
methods: {
addNewRow: function() {
this.seziure.push({ date: null, details: null, });
},
},
})

我的音译脚本是

 <script type="text/javascript">

// Load the Google Transliterate API
google.load("elements", "1", {
packages: "transliteration"
});

function onLoad() {
var options = {
sourceLanguage:
google.elements.transliteration.LanguageCode.ENGLISH,
destinationLanguage:
[google.elements.transliteration.LanguageCode.MALAYALAM],
shortcutKey: 'ctrl+g',
transliterationEnabled: true
};

// Create an instance on TransliterationControl with the required
// options.
var control =
new google.elements.transliteration.TransliterationControl(options);

// Enable transliteration in the textbox with id
// 'transliterateTextarea'.
var ids = [ "transliterateTextarea2" ];
control.makeTransliteratable(ids);
}
google.setOnLoadCallback(onLoad);
</script>

因此,我在这里添加了一个音译 id,即 var ids = [ "transliterateTextarea2"];该 ID 实际上仅适用于第一个输入字段。因此,当我单击 @addNewRow 时,会出现一个输入字段,但音译不起作用

那么,当我单击@addNewRow 时,如何动态添加 id。因此,我也可以获得该输入字段的音译。

请帮我解答。

我添加的每个新输入字段都需要音译。

请提供同样的帮助。希望得到帮助

最佳答案

首先,您正在创建非唯一的 id,这在 html 中是错误的。您应该使用 :id="'transliterateTextarea_' + index"。而且,您的音译初始化脚本也不会注册新的输入元素,除非每次添加元素时都重新运行它。将整个音译脚本转换为一个函数,并在 addNewRow 中添加如下内容:

this.seziure.push({ date: null, details: null, });
this.$nextTick(()=>{yourTransliterationInitializingFunction(this.seziure.length)})

yourTransliterationInitializingFunction 中,确保使用正确的 id(这就是我们在那里传递参数的原因):

function yourTransliterationInitializingFunction(idNo){
...
var ids = [ "transliterateTextarea_" + idNo ];
...
}

关于javascript - 如何动态地将 id 提供给我的输入字段,就像我在 vue js html 中的音译 id 一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49938579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com