2012-01-30 35 views
0

我有很多的文本框这是动态创建的:如何相同jQuery调用不同ID的对象?

<?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中有一种方法可以使用上述函数来处理动态创建的所有文本框的自动填充字段,并且它们具有不同的ID?像jQuery的东西将采取所有的文本框的ID开始'autocol'然后管理所有这些自动完成功能?

感谢

+0

这比可能更多,你将不得不建立每个人说自己的解决方案,使其工作。记住你不仅仅限于id。您可以使用类的一个功能块来定义多个元素,然后通过ID或其他类给出的功能分解。导致你的元素也不限于每个类的一个类。 – chris 2012-01-30 03:17:08

回答

4

是的,有这样的选择:

jQuery('input[id^=autocol_]').autocomplete... 
+0

它工作顺利。谢谢! – ivantxo 2012-01-30 04:20:44

2

您的情况, 做

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

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

但你可以把class属性组的元素以后宗旨 像:

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

,以后你可以用class代替id 喜欢选择:

$(".autocol_input').autocomplete.... 
+0

我也会尝试使用类。谢谢! – ivantxo 2012-01-30 04:21:22

相关问题