jquery分配和调用带变量的ID

时间:2013-04-22 03:58:13

标签: jquery variables selector

让我说我有以下代码:

 textInput = $('#outputTextInput').val();

   $('#outputAdd').click(function(){

       $('#status_table tr:last').after('<tr id="output_newrow_"+textInput><td>1</td><td id="type_row_"+textInput>lala</td><td id="num_row_"+textInput>num row '+textInput+'</td><td><img class="image" src="static/OffLamp-icon.png" style="height:64px; width=64px"/></td></tr>');

    });
   $('#outputRemove').click(function(){

        $('#status_table').find("#output_newrow_"+textInput).remove();


   });

然后我想用ID“output_newrow _”+ textInput或“type_row _”+ textInput调用那个选择器,以便......

$('#how_should_i_write_it_here').append(textInput)

我不知道应该如何调用该选择器...

提前感谢所有帮助:)

更新!这是Fiddle链接。我现在的问题是,当我添加和删除几次时,我无法显示变量“textInput”并且索引号很乱。例如,我键入“1,2,3”它将在表格上显示索引2,3,4。但是当我输入3并单击删除时,它会删除索引2(假设链接为1)。

3 个答案:

答案 0 :(得分:2)

代码中的字符串连接错误,代码中index也是undefined

$('#outputAdd').click(function(){
   var textInput = $('#outputTextInput').val();
   var str = '<tr id="output_newrow_' +textInput + '">'
               + '<td>1</td><td id="type_row_' + textInput '">lala</td>'
               + '<td id="num_row_' + textInput + '">num row ' + textInput + '</td>'
               + '<td><img class="image" src="static/OffLamp-icon.png" style="height:64px; width=64px"/></td>'
          +  '</tr>';
   $('#status_table tr:last').after(str);

});
$('#outputRemove').click(function(){
    $("#output_newrow_"+textInput).remove();
});

答案 1 :(得分:0)

你的字符串连接错误

$('#outputAdd').click(function(){
    var textInput = $('#outputTextInput').val();

    $('#status_table tr:last').after('<tr id="output_newrow_'+textInput+'"><td>1</td><td id="type_row_"+textInput>lala</td><td id="num_row_"+textInput>num row '+index+'</td><td><img class="image" src="static/OffLamp-icon.png" style="height:64px; width=64px"/></td></tr>');

});
$('#outputRemove').click(function(){
    $('#status_table').find("#output_newrow_"+textInput).remove();    
});

答案 2 :(得分:0)

与分配它的方式非常相似。像这样:

$("#output_newrow_" + textInput).appen(textInput);