您好我从jquery UI插入微调器时遇到问题。 下面是我的代码,有人可以帮助我,我将不胜感激。我不能让它看起来只是让我的所有工作都消失了:S
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
//This creates a spinner for each of the weighting boxes for the user to have an easier way of selecting their desired values
$(function() {
var spinner = $( "x" ).spinner({
min:0});
var spinner = $( "y" ).spinner({
min:0});
var spinner = $( "z" ).spinner({
min:0});
});
$(document).ready(function()
{
var x ='x';
var y = 'y';
var z = 'z';
// user variables declared
$('<tr><td>'+x+'</td>' +
'<td><input id="'+x+'" class="textbox" type="text" id = "x" value="1" />'+ // text boxes for each variable created
'</td></tr>').appendTo('#menu');
$('<tr><td>'+y+'</td>'+
'<td><input id="'+y+'" class="textbox" type="text" id = "y" value="1" />'+
'</td></tr>').appendTo('#menu');
$('<tr><td>'+z+'</td>'+
'<td><input id="'+z+'" class="textbox" type="text" id = "z" value="1" />'+
'</td></tr>').appendTo('#menu');
答案 0 :(得分:1)
有太多错误只发布评论所以这里是(请注意我不知道你的整个代码/ HTML标记是什么样的,所以有些错误可能不是真正的错误)
首先,代码中没有jQuery UI脚本标记。但我想这只是你的代码示例,而不是你的整个代码。 如果不是:
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
在你的$(function() { });
中,你说它会为每个加权框创建一个微调器。但是你要做的就是声明并覆盖一个变量(var spinner
)3次。此外,使用变量也不是必需的。但无论如何:
$(document).ready(function() {
var spinnerOne = $( "#x" ).spinner({
min:0});
var spinnerTwo = $( "#y" ).spinner({
min:0});
var spinnerThree = $( "#z" ).spinner({
min:0});
//alternative without using variables:
$('#x').spinner({ min: 0 });
});
我也改变了你的选择器,例如$( "z" )
到$( "#z" )
,因为您想要使用指定的ID在<inputs>
上初始化微调器。
$('#element')是id为“element”的元素的选择器(通常只有一个)
$( '元素')。是具有类“element”的元素的选择器(如果存在多个具有此类的类,则全部被选中)
这就像在CSS中一样,你选择一个带有点.
的元素和一个带有哈希#
的ID
因为我已经命名了ID主题。您的所有input
字段都包含两个 ID,但ID是唯一标识符。 (也许这只是在示例代码中显示您尝试的内容)
你需要像这样纠正它们
<input class="textbox" type="text" id="x" value="1" />
实际上也不需要连接+
,因为您只尝试附加HTML('<tr><td>'+x+'</td>'
除外)
在单独的函数中编写微调器是多余的。 $(function () { });
和$(document).ready(function () { });
用于同一目的。
有关更多信息,请参阅此stackoverflow主题。
但是,在创建应该为其创建微调器的元素之前,根本无法工作的是初始化微调器。
我不确定您为什么要在$(document).ready()
中创建一些元素,因为您可以在html
模板中轻松完成此操作。
我建议您创建一个jsfiddle。它为我们提供了更准确的问题视图。你目前的进步是什么。 真正描述您的问题以及在哪种情况下无法正常工作将会有所帮助。
以修改方式提供标记的 working example 。 请务必知道你做了什么。