Как же вызвать jQuery для разных объектов ID? - PullRequest
0 голосов
/ 30 января 2012

У меня есть несколько текстовых полей, которые создаются динамически:

<?php
    $columns = $_POST['n_cols'];
    for ($i=0; $i<$columns; $i++) {
        ?>
        <input type='text' id="autocol_<?php echo $i; ?>" name="autocol_<?php echo $i; ?>">
        <?php
    }
?>

Затем у меня есть вызов jQuery, чтобы эти текстовые поля вели себя как поле автозаполнения:

<script type="text/javascript">
    /*<![CDATA[*/
    jQuery(function($) {
        jQuery('#autocol_').autocomplete({'showAnim':'fold','select':function(event, ui) {
        },'source':'/myproject/index.php?r=Controller/autocomplete&table=newtable'});
    });
    /*]]>*/
</script>

Есть ли способ в jQuery использовать вышеуказанную функцию для обработки поля автозаполнения для всех текстовых полей , которые были созданы динамически и имеют разные идентификаторы ? Что-то вроде jQuery будет принимать все текстовые поля, чей идентификатор начинается с 'autocol' , а затем управлять функцией автозаполнения для всех из них?

Спасибо

Ответы [ 2 ]

4 голосов
/ 30 января 2012

Да, есть такой селектор:

jQuery('input[id^=autocol_]').autocomplete...
2 голосов
/ 30 января 2012

в вашей ситуации, делать

$("[id^='autocol_']")

или

$("input[id^='autocol_']")

но вы можете поставить атрибут class, чтобы сгруппировать ваши элементы для дальнейшего использования как:

<input type='text' class='autocol_input' id="autocol_<?php echo $i; ?>"

и позже вы можете выбрать class вместо id как:

$(".autocol_input').autocomplete....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...