变量JavaScript函数
这里是我的代码:变量JavaScript函数
$('#date').pickadate({
format: 'mmmm d, yyyy',
disable: [
1, 2, 3, 4, 5
]
});
“禁用”是指将禁用1周,2,3,4日和5这是行不通的代码:
<input type="text" id="numbers" value="1, 2, 3, 4, 5">
<script>
var numbers = document.getElementById('numbers').value;
$('#date').pickadate({
format: 'mmmm d, yyyy',
disable: [
numbers
]
});
</script>
我想使用变量中的数字,因为它可以是动态的。为什么它不适用于变量numbers
?我怎样才能做到这一点?谢谢。
它可能预计的数字,而不是用逗号的字符串:
[ "1, 2, 3, 4" ] !== [1, 2, 3, 4]
试试这个:
var numbers = document.getElementById('numbers').value.split(',').map(function(val) {
return parseInt(val.trim(), 10);
});
$('#date').pickadate({
format: 'mmmm d, yyyy',
disable: numbers
});
反而把它作为Number而不是parseInt。只是一种感觉。你怎么看? –
@AkshayKhandelwal我认为结果是一样的,不是吗? ¯\ _(ツ)_ /¯ –
是的。你也考虑过基数作为小数。有趣。现在我觉得你的代码是完美的。这是有道理的。您不能使用float作为日期。谢啦。增加知识。 –
因为当你从它们的值中得到它们时,你需要一个数组。
$('#getinfo').on('click',function(){
var numbers = document.getElementById('numbers').value;
numbers = numbers.split(' ').join(); // remove spaces
numbers = numbers.split(','); // convert to array
alert(numbers);
console.log(numbers);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="numbers" />
<button id="getinfo">Get Info</button>
现在你可以在那里使用变量。
嗯..错过了那部分:) 好,你指出了它。 –
一定要看看aletzo的答案:您需要直接将'numbers'变量传递给'disable',而不是在另一个数组内。 – Hissvard
var numbers = document.getElementById('numbers').value;
现在数字包含一个字符串,所以你必须将它转换为一个数组。也许是这样的:
numbers = numbers.split(', ');
你可以这样做:
disable: numbers
而不是这个(!):
disable: [
numbers
]
在您的代码:
var numbers = document.getElementById('numbers').value;
号不是一个数组,它是一个值为“1,2,3,4,5”的字符串。为了使一个数组,你需要使用分割功能:
var numbersArray = numbers.split(',');
然后你可以使用numbersArray与禁用,像这样:
$('#date').pickadate({
format: 'mmmm d, yyyy',
disable: numbersArray
});
您正在创建一个数组,其中一个项的值为“1,2,3,4,5”
而您需要的是包含5个元素的数组,其中每个项都是一个数字。
例子:
var numbers = document.getElementById('numbers').value.split(',')
$('#date').pickadate({
format: 'mmmm d, yyyy',
disable: numbers
});
但这个代码将会给你一个数组,其中每个项目是一个字符串,所以你需要分析每一个与parseInt函数()
有没有错误?你能在jsfiddle.net网站上创建一个jsfiddle吗?这会让我们更容易帮助你。 –