2014-08-28 3 views
0

Я генерирую значения в таблицу через ajax. Это значения s. Внутри этих ролей есть якорь, который был бы во всех этих ролях. Эти метки привязки имеют класс, который я использую для ссылки на него с помощью javascript.Получение значений атрибутов динамически сгенерированных элементов (через ajax) в javascript

Якорная метка в этих ролях имеет функцию onclick, ссылающуюся на метод javascript. Я пытаюсь использовать этот метод для получения одного из атрибутов привязанного тега привязки. Но, к сожалению, я получаю неопределенную ошибку, когда я нажимаю на теги привязки в роли.

<tr> 

<td> 
         <a href="#" onClick="JavaScript:filltransfercombo();" class="btn btn-default transferchat" data-operatorid="@avisitor.OperatorID" data-toggle="modal" data-target="#transferModal" title="Transfer chat"> 
          <img src="~/Content/images/chaticons/transfer.png" height="20" width="20" /> 
         </a> 
        </td> 

</tr> 

Мое намерение - собрать этот атрибут - data-operatorid. Я хочу использовать его для некоторых манипуляций в своем javascript.

Мой Javascript ниже

<script type="text/javascript"> 

function filltransfercombo() { 


      var result = ""; 
      var active = $('a').index(this); 
      var currentoperatorid = $(active).attr("data-operatorid"); //This is the id of the currently attending operator 

      console.log(currentoperatorid); 

     } 

</script> 
+0

Я думаю, вы запутываете jQuery и ajax. – SimpleJ

+0

Как вы относитесь к @SimpleJ – user3576600

+0

Я попытался использовать метод on() в jquery, чтобы получить атрибут элемента click. Но по методу не срабатывал. Поэтому я чувствовал, что должен использовать javascript – user3576600

ответ

1

onclick событие не нуждается в javascript: нотации ... Вы бы поставить его в случае, если вы устанавливали метод на href.

Кроме того, из onclick событий у вас будет доступ к переменной this, а не по методу. Вы можете, однако, передать его в качестве аргумента, так:

<a href="#" onClick="filltransfercombo(this);" class="btn btn-default transferchat" data-operatorid="@avisitor.OperatorID" data-toggle="modal" data-target="#transferModal" title="Transfer chat"> 

и ЯШ:

function filltransfercombo(sender) { 
    var result = ""; 
    var currentoperatorid = $(sender).attr("data-operatorid"); //This is the id of the currently attending operator 

    console.log(currentoperatorid); 

} 
+0

Вы только что спасли мне один час кодирования. – user3576600

+0

Спасибо большое. Он работает как магия, и все идет хорошо. Вы брат брата. Я благодарен. @LcSalazar – user3576600

+0

Если атрибут является тегом 'data..', не было бы более эффективным/правильным использовать' $ (sender) .data ("operatorid"); '? – entropic

0

Это легко можно сделать с JQuery.

Удалите атрибут onClick на своих якорях и вместо этого привяжите функцию щелчка к тэгам привязки (только в таблице). Затем добавьте свой код обработки в эту функцию.

ли что-то вроде этого:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('table tr td a').click(function() { 
     var result = ""; 
     var currentoperatorid = $(this).data("operatorid"); //This is the id of the currently attending operator 

     console.log(currentoperatorid); 
    }); 
}); 
</script> 

Natrually, вам необходимо убедиться, что JQuery библиотеку JavaScript также включен на этой странице.

Смежные вопросы