JQuery заменить onClick в h: commandLink

0

То, что я пытаюсь сделать, это заменить клик на JQuery.

<h: commandLink onClick = "hi" value = "Button"/>

в

<h: commandLink onClick = "function (hi)" value = "Button"/>

Можно ли выбрать внутри команды с помощью JQuery? И более конкретно вы можете сделать это с помощью JSF-тегов?

Спасибо за помощь!

Теги:
jsf
xhtml

3 ответа

0
Лучший ответ

Догадаться. Вот ответ.

$( ".class" ).attr('onclick', 'whatever I want it to be');

Таким образом, вы можете сделать это так.

<h:commandLink class='btn' onClick="hi" value="Button"/>
var text = $('.btn').attr('onclick');

$('.btn').attr('onclick', "function("+text+")");

Возьмите его немного дальше и сделайте это для каждой кнопки на экране.

$('.btn').each(function () {
      var text = $(this).attr('onclick');

      $(this).attr('onclick', "function("+text+")");
});
0

Вы можете дать кнопке id или class и вызвать функцию click().

РЕДАКТИРОВАТЬ

$( ".class" ).click(function() {  //Or #id
    //Do work
});

Таким образом, любой элемент с этим class или id вызовет эту функцию, он по-прежнему работает как событие onClick

  • 0
    Да, это легко сделать, но у меня уже есть более 100 кнопок, и у меня есть люди, которые разработают больше кнопок, которые вообще не будут добавлять правильный идентификатор или идентификатор / класс. Так что я надеялся, что есть способ выбрать h: commandLink onClick.
  • 0
    Поэкспериментируйте с исходным кодом, чтобы увидеть, как теги jsf отображаются в формате html. Может быть, это даст вам преимущество.
Показать ещё 6 комментариев
-2

Чтобы выбрать атрибут namespaced, вы можете использовать фильтр. Здесь демо с использованием вашего кода:

http://jsfiddle.net/fBv4q/

$('button').filter(function() { return typeof $(this).attr('h:commandlink') != 'undefined'; }).attr('onclick','alert(111)').html('Modified onClick');

Проверка "undefined" важна, потому что ваш атрибут не имеет значения, но он все еще существует.

Вместо того, чтобы предоставлять вызов функции в виде строки, используйте метод jQuery "on" для присоединения события

  • 0
    Мой h: commandLink - это не кнопка. Это ах: commandLink.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню