0

我在使用 cakephp 时遇到问题,实际上,我正在尝试在选择框中使用事件“onChange”,但是当我尝试为我的特定类设置时,我真的不知道为什么它不起作用输入。

这是我的代码:

<form>
<?php
echo $this->Form->input(' ', array('class' => 'styledselect_pages', 'options' => array(10, 20, 40), 'empty' => 'Afficher par', 'onchange' => 'alert();'));
?>
</form>

​此代码不起作用,但如果我只删除 'class' => 'styledselect_pages' 并且什么都不设置,一切正常!

我错过了什么吗?

编辑:我的 CSS 中的 styledselect_pages 是:

background: url(../img/table/select_number_rows.gif) left no-repeat;
border: none;
border-left: none;
color: #393939;
cursor: pointer;
display: block;
font-family: Arial;
font-size: 12px;
height: 20px;
line-height: 16px;
margin: 0px 0px 0px 0px;
padding: 4px 0 0 6px;
text-align: left;
width: 130px;
4

2 回答 2

2

乍一看,这段代码没有任何问题,所以我怀疑页面上正在“捕获”事件的另一个 JavaScript 处于活动状态。

要检查是否是这种情况,请尝试不删除“类”选项,但(暂时)使用不同的名称,并检查它是否解决了问题,

例如:

'class' => 'styledselect_pages-DISABLED'

如果这解决了问题并且您正在使用某个库来“皮肤”“样式”)选择,那么整个“选择”很可能隐藏在页面上,并且“可见”下拉菜单不是实际的下拉菜单, 但其他 HTML 元素模仿下拉。

这些元素可能不会触发原始选择的“更改”,因此不会调用您的函数。

于 2013-04-12T14:47:04.893 回答
0

试试这个:函数js

function    yourfunction(){
       alert("test");
    }

你的代码:

<form>
<?php
echo $this->Form->input(' ', array('class' => 'styledselect_pages', 'options' => array(10, 20, 40), 'empty' => 'Afficher par', 'onchange' => "yourfunction();"));
?>
</form>
于 2013-04-12T13:51:49.877 回答