我正在尝试在我的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="<<" />
<input type="button" id="btnRight" value=">>" />
</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]
答案 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
似乎此错误与您的代码无关。
我会尝试使用其他浏览器进行测试。