2010-10-29 2 views
0

Я пытаюсь расширить DOMWindow example 6 для привязки к различным элементам на странице. Как бы то ни было, синтаксис подразумевает, что селектор должен быть статичным, будь то имя класса или id, оба работают. Однако я хотел бы указать идентификатор элемента clicked в качестве селектора, но он не работает. Простой пример:DOMWindow() с несколькими (динамическими) селекторами привязки

$(function() { 
     $('.example6DOMWindow').openDOMWindow({ 
      height: 100, 
      width: 300, 
      positionType: 'anchored', 
      anchoredClassName: 'exampleWindow6', 
      anchoredSelector: '#someid', 
      eventType: 'click', 
      windowSource: 'ajax', 
      windowHTTPType: 'post' 
     }); 
    }); 

Я попытался указать селектор в anchoredSelector: '#' + $(this).attr('id'), но .openDOMWindow не могу быть использован таким же образом, как .click(), так что $ (это) на самом деле не относится к щелкнутому элементу. Я также пробовал следующее:

$(function() { 
     $('.example6DOMWindow').click(function() { 
      var link = $(this); 
      link.openDOMWindow({ 
       height: 100, 
       width: 300, 
       positionType: 'anchored', 
       anchoredClassName: 'exampleWindow6', 
       anchoredSelector: '#' + link.attr('id'), 
       eventType: 'click', 
       windowSource: 'ajax', 
       windowHTTPType: 'post' 
      }); 
     }); 
    }); 

Есть ли у кого-нибудь предложения по тому, как это может быть достигнуто? Или, может быть, альтернативные плагины, которые могут достичь одинаковой функциональности?

ответ

1

Вы можете сделать это в общем для почти любого плагина, который нуждается в опции на основе элемента вы находитесь с .each() циклом, как это:

$(function() { 
    $('.example6DOMWindow').each(function() { 
    $(this).openDOMWindow({ 
     height: 100, 
     width: 300, 
     positionType: 'anchored', 
     anchoredClassName: 'exampleWindow6', 
     anchoredSelector: '#' + this.id, 
     eventType: 'click', 
     windowSource: 'ajax', 
     windowHTTPType: 'post' 
    }); 
    }); 
}); 
+0

отлично работает, спасибо. Приятно знать и о будущем. Я начал работать по строкам $ ('. Example6DOMWindow'). Click (function() {$ .openDOMWindow ({..});}); но он не совсем работал, по какой-то причине связь шла по какой-то причине. – Shagglez

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