1

我有以下 Javascript 函数,可让我向表中添加新行:

$(function() {

var $table = $('table.pv-data'),
    counter = 1;

$('a.add-author').click(function(event){
    event.preventDefault();
    counter++;            
var newRow = 
        '<tr>' + 
            '<td><input type="text" name="id' + counter + '"/></td>' +
            '<td><select name="state' + counter + '"/><OPTION value= "persil">Persil</OPTION><OPTION value= "other">Other</OPTION></select></td> ' +
            '<td><input type="text" name="longitude' + counter + '"/></td>' +
            '<td><input type="text" name="latitude' + counter + '"/></td>' +
            '<td><input type="text" name="altitude' + counter + '"/></td>' +
            '<td><input type="text" name="module_tilt' + counter + '"/></td>' +
            '<td><a href="#" class="remove">remove</a></td>'
        '</tr>';
    $table.append(newRow);
    });
});

一切正常,只是我必须在选项之间进行选择的部分:“Persil”或“Other”不起作用。它没有显示不同的选项。

4

3 回答 3

2

从开始标签的末尾去掉自闭合标签,并删除两个元素select之间的空格。还要添加一个 + 来连接 final 。value= "persil"option</tr>

var newRow = 
    '<tr>' + 
        '<td><input type="text" name="id' + counter + '"/></td>' +
        '<td><select name="state' + counter + '"><OPTION value="persil">Persil</OPTION><OPTION value="other">Other</OPTION></select></td> ' +
        '<td><input type="text" name="longitude' + counter + '"/></td>' +
        '<td><input type="text" name="latitude' + counter + '"/></td>' +
        '<td><input type="text" name="altitude' + counter + '"/></td>' +
        '<td><input type="text" name="module_tilt' + counter + '"/></td>' +
        '<td><a href="#" class="remove">remove</a></td>' +
    '</tr>';

在元素末尾有自结束标记(末尾的斜线,如<img src="..." />)仅适用于没有独立结束标记的元素,因此对于像<select>您这样的东西不需要它,因为此功能由</select>.

于 2013-06-26T15:23:49.020 回答
2

以下几行需要替换

  1. '<td><select name="state' + counter + '"/>...'. 不正确,因为您过早关闭选择标签。
  2. '<td><a href="#" class="remove">remove</a></td>'. 你+最后不见了。

通过这些替换:

  1. '<td><select name="state' + counter + '">...'.
  2. '<td><a href="#" class="remove">remove</a></td>' +

注意:在评论中指出了替换#2。

于 2013-06-26T15:19:39.087 回答
0

你在这一行有问题:

'<td><select name="state' + counter + '"/><OPTION value= "persil">P

选择有它自己的结束标签它必须是这样的

'<td><select name="state' + counter + '"><OPTION value= "persil">P
于 2013-06-26T15:39:03.440 回答