猿问

yii2-multiple-input 我无法获得当前行

我正在使用yii2-multiple-input,在使用beforeDeleteRow如下所示的 javascript 事件删除项目时一切都很好。


jQuery('#wtabularbotellas').on('beforeDeleteRow',function(e, row, currentIndex) {

   // This throw the number of rows instead how do I get the current Index? 

   alert(currentIndex);    

});

但我无法捕获该行的 ID 号。我尝试使用row对象和currentIndex变量来完成它,但没有结果,因为后者只返回行数而不是我要查找的索引。


侃侃无极
浏览 253回答 1
1回答

拉丁的传说

在currentIndex您使用的实际上是当前索引的多个输入容器是。例如,如果您有5输入并且删除1当前索引 will&nbsp;4,则它不是已删除行的索引,因此这意味着currentIndex不是该行的实际索引,而是容器中的总行数,如果您期望如果您从总行数中删除第 3 行,5它应该返回 3/2(取决于0或的起始索引1),那么您错了。我无法通过获取元素/行的实际行 id 来猜测您实际想要完成什么,尽管您可以这样做,但在此之前您需要了解一些内容。将以下列表分别视为容器内的行和索引。| IDX | Element | ID&nbsp;&nbsp;| 1&nbsp; &nbsp;| input&nbsp; &nbsp;| email-1| 2&nbsp; &nbsp;| input&nbsp; &nbsp;| email-2| 3&nbsp; &nbsp;| input&nbsp; &nbsp;| email-3| 4&nbsp; &nbsp;| input&nbsp; &nbsp;| email-4| 5&nbsp; &nbsp;| input&nbsp; &nbsp;| email-5如果删除最后一行,新索引将与之前相同,这在逻辑上应该是可以的。| IDX | Element | ID&nbsp;&nbsp;| 1&nbsp; &nbsp;| input&nbsp; &nbsp;| email-1| 2&nbsp; &nbsp;| input&nbsp; &nbsp;| email-2| 3&nbsp; &nbsp;| input&nbsp; &nbsp;| email-3| 4&nbsp; &nbsp;| input&nbsp; &nbsp;| email-4但是如果您删除第一行,并且您期望在删除第一行后,其余索引将保留以前的索引,如下所示,| IDX | Element | ID&nbsp;&nbsp;| 2&nbsp; &nbsp;| input&nbsp; &nbsp;| email-2| 3&nbsp; &nbsp;| input&nbsp; &nbsp;| email-3| 4&nbsp; &nbsp;| input&nbsp; &nbsp;| email-4| 5&nbsp; &nbsp;| input&nbsp; &nbsp;| email-5不,删除后索引会被重置,如果每次删除第一个元素,你总是得到索引1。因此,如果您仍想获取已删除行的行号,则应使用row参数和.index()函数,该row参数将具有将要删除的行的对象。注意:以下示例使用的是基本的单列,请相应地调整您的脚本$js = <<<JS&nbsp; &nbsp; jQuery('#wtabularbotellas').on('beforeDeleteRow',function(e, row,currentIndex) {&nbsp; &nbsp; &nbsp; &nbsp;//the index of the row removed&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;let removedIndex= row.index();&nbsp; &nbsp; &nbsp; &nbsp;//id of the input inside&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;let inputId = row.find(':input').attr('id');&nbsp; &nbsp; &nbsp; &nbsp;console.log("Index removed====>"+removedIndex, "Input id of the removed row input====>"+inputId);&nbsp; &nbsp; });JS;$this->registerJs($js, \yii\web\View::POS_READY);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答