Javascript 如何在jQuery小部件中使用动态属性值
我有一个javascript,每当我从下拉菜单中选择一个选项时,它都会返回一个值Javascript 如何在jQuery小部件中使用动态属性值,javascript,jquery,html,jquery-ui,global-object,Javascript,Jquery,Html,Jquery Ui,Global Object,我有一个javascript,每当我从下拉菜单中选择一个选项时,它都会返回一个值 $(document).ready(function() { function calculateVals() { //dropdown menus var valuestart = $("select[name='timestart']").val(); var valuestop = $("selec
$(document).ready(function() {
function calculateVals() {
//dropdown menus
var valuestart = $("select[name='timestart']").val();
var valuestop = $("select[name='timestop']").val();
//create date format
var timeStart = new Date("01/01/2007 " + valuestart).getHours();
var timeEnd = new Date("01/01/2007 " + valuestop).getHours();
var hourDiff = timeEnd - timeStart;
return hourDiff;
}
$("select").change(calculateVals);
calculateVals();
});
上面的脚本返回一个数字,我需要将其添加到下面的jquery插件中。我需要将其添加到max选项中,但我得到的错误是calculateVal未定义
尝试在就绪块外定义函数:
function calculateVals() {
//code here...
return someResult;
}
$(document).ready(function() {
$("select").change(calculateVals);
calculateVals();
});
尝试在就绪块外定义函数:
function calculateVals() {
//code here...
return someResult;
}
$(document).ready(function() {
$("select").change(calculateVals);
calculateVals();
});
将函数移到全局范围:
function calculateVals() {
//code here...
return someResult;
}
$(document).ready(function() {
$("select").change(calculateVals);
calculateVals();
});
更好的是,当您误用DOM ready时,了解它的含义
您应该只有一个就绪处理程序。
应该只存在与DOM元素相关的代码。
更新:
稍后,您可以使用以下方法更改滑块最大值:
$( "#slider").slider("option", "max", calculateVals());
将函数移到全局范围:
function calculateVals() {
//code here...
return someResult;
}
$(document).ready(function() {
$("select").change(calculateVals);
calculateVals();
});
更好的是,当您误用DOM ready时,了解它的含义
您应该只有一个就绪处理程序。
应该只存在与DOM元素相关的代码。
更新:
稍后,您可以使用以下方法更改滑块最大值:
$( "#slider").slider("option", "max", calculateVals());
谢谢,我试过了。我没有得到一个错误,但当我点击选择菜单时什么也没有发生。someResult应该返回一个数字,这个数字应该会在更改时发生一些事情。谢谢我尝试了。我没有得到一个错误,但当我点击选择菜单时什么也没有发生。someResult应返回一个数字,该数字应能使更改发生。@gdoron谢谢,我没有看到它haha@gdoron谢谢,我看不出来,但是谢谢你!是否需要一些额外的代码来实现这一点?当我点击我的下拉菜单并选择一个选项时,什么也没发生。@CyberJunkie。我感觉你的问题就在这里//代码在这里…:不管怎样,我不知道你称之为动态,也不知道当前的问题到底是什么。你说得对!我在答案中添加了缺少的代码。它计算我从2个下拉菜单中选择的2次之间的小时差,并返回结果。我试图在max选项中将结果添加到jquery函数中,它改变了一个滑块。该函数仅在我加载page@CyberJunkie. 以后可以使用$slider.slideroption,max,calculateVals更改滑块最大值;你是说像这样吗$select.changefunction{$slider.slideroption,max,calculateTime;};我试过了,但没有成功。谢谢!是否需要一些额外的代码来实现这一点?当我点击我的下拉菜单并选择一个选项时,什么也没发生。@CyberJunkie。我感觉你的问题就在这里//代码在这里…:不管怎样,我不知道你称之为动态,也不知道当前的问题到底是什么。你说得对!我在答案中添加了缺少的代码。它计算我从2个下拉菜单中选择的2次之间的小时差,并返回结果。我试图在max选项中将结果添加到jquery函数中,它改变了一个滑块。该函数仅在我加载page@CyberJunkie. 以后可以使用$slider.slideroption,max,calculateVals更改滑块最大值;你是说像这样吗$select.changefunction{$slider.slideroption,max,calculateTime;};我试过了,但没有成功。。