0

当从选择元素中选择选项时,我有一个jQuery函数会触发,它的一个函数在具有特定类别时将其应用于选择元素:

<script type="text/javascript">
$(document).ready(function() 
{       
    $('.acompanante').on('change', function(event) 
    {   
       //my code
    }
}
</script>

这是我的选择元素代码:

<select class="acompanante" name="acompanante_anterior" id="<?php echo "$i" ?>">
  <option value="0" ><?php echo $txt_nuevo_acompanante;?></option>
  ....
</select>

如何.change()从 PHP 中调用 select 元素的 jQuery 事件?

4

3 回答 3

3

您不能从 PHP 调用它,也不需要它。jQuery 看不到 PHP,而只看到呈现的 HTML。

所以你可以像往常一样绑定它,在这种情况下使用类。

$('.acompanante').change(function(){
    this  // the dropdown which changed
});

在其中,您可以使用$(this)它来查看它是哪个下拉列表。

想要从 PHP 调用 javascript,让 PHP 渲染 JavaScript 来这样做:

<script>
    <?
       echo 'javascriptFunction();';
    ?>
</script>
于 2012-06-07T08:54:25.687 回答
1

您想在页面加载时执行您的功能。

<script type="text/javascript">
$(document).ready(function() 
{       
    $('.acompanante').on('change', fillDropdown);
    fillDropdown.call($('.acompanante'));
});

function fillDropdown(event)
{

}
</script>

制作 jquery 对象涉及一些技巧this,这是 jQuery 的默认行为。这就是 fn.Call 的作用。

于 2012-06-07T08:59:14.923 回答
0

change()

$('.acompanante').change(function() {
    alert('change() called.');
});
于 2012-06-07T08:55:11.303 回答