我正在尝试创建一个简单论坛的一部分,该论坛允许配合鞋码与各自的数量。
此信息最终将传递到数据库。现在我有一个部分工作的jquery脚本。我可以输入一个大小,然后将该大小添加到列表中。脚本在这里停止。我的控制台告诉我,我有未捕获的类型错误。
我不知道这意味着什么或我要做什么。我正在学习这一点,所以请善待我。
代码如下
<html>
<head>
<title>Testing page</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
<fieldset>
<legend>ShoeSize</legend>
Add Size: <input type="text" name="newSize" id="newSize"/>
<input type="button" value="add" id="addbutton"/>
<br/>
Available Sizes: <select name="availableSizes" id="availableSizes" size="1"></select>
Quantity of Available Size: <input type="text" name="quantOfSize" id="quantOfSize"/>
<input type="button" value="set" id="setQuant"/>
</fieldset>
<script type="text/javascript">
$(document).ready(function() {
$('#addbutton').click(function(){
var size = $('#newSize').val();
var sizelist = $('#availableSizes');
var sizeOption = $('<option value="'+ size +'">'+ size +'</option>');
sizelist.append(sizeOption);
size.val('');
size.reset();
});
$('#setQuant').click(function() {
var quantity = $('#quantOfSize').val();
if (quantity == " ") {
alert('Invalid quantity set');
} else{
alert('We have ' + quantity +' shoes of '+ 'size '+ size);
};
})
});
</script>
</body>
</html>
我还没有测试设定数量按钮。所以,如果它适合你,所有人都会告诉我,如果它没有,那么告诉我我做错了什么。
答案 0 :(得分:0)
尝试类似这样的事情并删除reset()
函数,因为它属于不是输入的形式
var size = $('#newSize');
var sizelist = $('#availableSizes');
var sizeOption = $('<option value="'+ size +'">'+ size.val() +'</option>');
sizelist.append(sizeOption);
size.val('');
答案 1 :(得分:0)
您的代码中有2个问题
a)
var size = $('#newSize').val();
size.val('');
这会导致异常,因为一旦你做了&#39; .val&#39;您不再具有对象的引用,而是其值,因此解决方案是使用$('#newSize').val('')
或将$('#newSize')
转换为变量var size = $('#newSize')
- 然后对其进行操作。
b)
您正在引用&#39; size&#39;在您的第二个单击处理程序中,但您的初始变量超出范围,因此您需要再次创建它,但这次从选定的下拉列表中获取它: - )
我已经为您创建了一个包含完整工作代码的JSFiddle:http://jsfiddle.net/EdsonF/QM9Gs/
希望有所帮助
埃德森