Javascript / Jquery在PHP脚本中不起作用

时间:2014-01-23 18:16:14

标签: javascript php jquery html css

我正在尝试在我的PHP页面上实现这个多选功能(请参阅链接:http://jsfiddle.net/eUDRV/318/)。我可以让桌子显示我的喜好,然而,当我按下按钮将元素移动到任何一侧时没有任何反应。代码在提供的链接中工作,但它在我的页面中不起作用,我想知道为什么这是,如果我错过任何像AJAX。我非常感谢你的帮助。感谢

这是我的HTML代码:

<section class="container">
<div>
    <select id="leftValues" size="10" multiple>

            <option>1</option>
            <option>2</option>
            <option>3</option>
    </select>
</div>
<div>
    <input type="button" id="btnLeft" value="&lt;&lt;" />
    <input type="button" id="btnRight" value="&gt;&gt;" />
</div>
<div>
    <select id="rightValues" size="10" multiple></select>
</div>
</section>

我的Javascript / JQuery代码:

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {

$("#btnLeft").click(function () {
             var selectedItem = $("#rightValues option:selected");
             $("#leftValues").append(selectedItem);}
);

$("#btnRight").click(function () {
              var selectedItem = $("#leftValues option:selected");
              $("#rightValues").append(selectedItem);
});
}
</script>
</head>

CSS代码:

SELECT, INPUT[type="text"] {
width: 250px;
box-sizing: border-box;
}
SECTION {
width: 600px;
padding: 8px;
background-color: #f0f0f0;
overflow: auto;
}
SECTION > DIV {
float: left;
padding: 4px;
}
SECTION > DIV + DIV {
width: 40px;
text-align: center;
}

我在控制台中收到以下错误:

错误:[Exception ...“'JavaScript组件没有名为的方法:”handleEvent“'在调用方法时:[nsIDOMEventListener :: handleEvent]”nsresult:“0x80570030(NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)”location:“native frame: ::: :: line 0“data:no]

2 个答案:

答案 0 :(得分:0)

代码完美无缺(满足您的需求)。

只有一个小错字:

...
<script type="text/javascript">
$(document).ready(function () {

$("#btnLeft").click(function () {
             var selectedItem = $("#rightValues option:selected");
             $("#leftValues").append(selectedItem);}
);

$("#btnRight").click(function () {
              var selectedItem = $("#leftValues option:selected");
              $("#rightValues").append(selectedItem);
});
}
</script>
...

这是你的脚本 - 为了更容易发现:

...
<script type="text/javascript">
$(document).ready(function () {
   /*code to be executed */
}
</script>
...

更简单

...
<script type="text/javascript">
$(document).ready(function () { /*code to be executed */ }
</script>
...

您没有关闭应该如下所示的就绪部分:

$(document).ready(function () { /*code to be executed */ });

所以为了保持答案简短(现在可能太迟),你错过了)

最小的问题是最难找到的。

请改用:

<script type="text/javascript">
$(document).ready(function () {

$("#btnLeft").click(function () {
             var selectedItem = $("#rightValues option:selected");
             $("#leftValues").append(selectedItem);}
);

$("#btnRight").click(function () {
              var selectedItem = $("#leftValues option:selected");
              $("#rightValues").append(selectedItem);
});
});
</script>

答案 1 :(得分:0)

您似乎需要进行更多调试。

尝试更改按钮以使它们alert('something'),如果它们没有提醒任何内容,那么代码就会出现更大的问题....

坚持......

我刚刚对该错误进行了一些搜索,并发现了这一点:https://bugzilla.mozilla.org/show_bug.cgi?id=449038

似乎此错误与您的代码无关。


我会尝试使用其他浏览器进行测试。