2013-06-03 1 views
0

мне нужно как следующийКак создать ссылку в <td> в jquery?

 <td> 
     <a href="/Employee/Edit/1001320">Edit</a> | 
     </td> 

Я написал, как следующий

var employeeaction = $('<td>').append('<a href="/Employee/Edit/' 
     +element.id+'">Edit</a> |'); 

я анализирую таблицу следующим кодом и взял element.id

$('#EmployeeTable tr:not(:nth-child(1), :nth-child(2))').each(function() { 
       // alert($(this).find('td').eq(0).text()); 
       var employee = {}; 
       employee.id = $(this).find('td').eq(0).text(); 
       employee.presenAddress = $(this).find('td').eq(1).text(); 
       employee.shortName = $(this).find('td').eq(2).text(); 
       employee.mobileNumber = $(this).find('td').eq(3).text(); 
       employee.department = $(this).find('td').eq(4).text(); 
       employee.designation = $(this).find('td').eq(5).text(); 
       employee.action = $(this).find('td').eq(6).text(); 
       employeeList.push(employee); 
      }); 

, когда я нажимаю на него дает мне нравится

локальный: 10845/Employee/Редактировать /% 201001097

Мне нужно

локальный: 10845/Сотрудник/Редактировать/1001097

Но это не работает. Как мне это сделать?

+0

'$ ('')' ...... –

+1

То, что вы должны работать, но не забудьте добавить в тд до тр. –

+3

@RoyiNamir '$ ('')' и '$ ('')' обе функции одинаковы. – mash

ответ

4

Я бы ..

var $td = $('<td>').html('<a href="#">Foo</a>'); 
$('table tr:eq(0)').append($td); 

Вот краткий демо: http://jsbin.com/etixof/1/edit

Ответ на ваш редактировать

Вы просто пробел перед element.id. Вы должны удалить его оттуда. Если это не вариант, который вы можете сделать.

var $td = $('<td>').html('<a href="' + $.trim(element.id) + '">Foo</a>'); 
+0

Предположим, что общая ссылка не жестко закодирована. employee.id - параметр. динамически он меняется. –

+0

Большое спасибо. теперь работает. Я не дал места. Я взял его из дома. почему пространство добавлено к нему? –

+0

проверить с оповещением (element.id); уверен, что его начало с пробела –

0

Ну это как у сделать это,

<table> 
<tr> 
    <td> 
    </td> 
</tr> 
</table> 

$(document).ready(function(){ 
    $("td").append("<a href='http://jsfiddle.net/7dYSG/'>Link to the solution on JS Fiddle</a>"); 
}); 
+0

Ссылка на JS Fiddle содержит рабочий пример. –

+0

Это добавит якорь для каждого 'td', я не думаю, что это то, что задают – billyonecan

+0

@billyonecan Да. Но он просто должен знать, как это делается просто. Независимо от того, какой тд. Это продемонстрировало бы только добавление. –

3

%20 в вашем URL является сбежавший символ пробела, то есть element.id возвращается _xxxxx где _ пространство.

Исправьте идентификаторы элементов, чтобы удалить пространство, и оно должно исправить вашу проблему.

0

Working jsFiddle Demo

Вы должны добавить ваш созданный td в DOM. Рассмотрим следующую разметку:

<table> 
    <tr id="row"> 
     <td>Hello World</td> 
    </tr> 
</table> 

И в коде JQuery:

$('<td>') 
    .append('<a href="/Employee/Edit/'+element.id+'">Edit</a>') 

    // now insert it into the dom 
    .appendTo('#row'); 
2

Кажется, вы создаете связь с пробелом в начале.

Вы можете решить эту проблему, используя значение trim.

var employeeaction = $('<td>').append('<a href="/Employee/Edit/' 
     +$.trim(element.id)+'">Edit</a> |'); 
0

Вы можете использовать parseInt Javascript функция:

$('<td>').append('<a href="/Employee/Edit/' 
     +parseInt(element.id)+'">Edit</a> |'); 
Смежные вопросы