我想從使用jQuery的文本框中添加一個新項目到列表中,但它不工作。這裏有很多代碼,我想在我的代碼中找到問題。從文本框輸入並添加到列表不起作用
HTML代碼
<div id="page">
<h1 id="header">LIST</h1>
<h2>Add</h2>
<ul>
<li id="one" class="hot"><em> Fresh </em>Figs </li>
<li id="two" class="hot"> Honey </li>
<li id="three" class="hot">Nuts </li>
<li id="four" class="hot">Bread </li>
</ul >
</div>
<div id="newItemButton"><button href="#" id="showForm">NEW ITEM</button>
</div>
</br>
<form id="newItemForm">
<input type="text" id="itemDescription" placeholder="Add a new item...."/>
<input type="submit" id="addButton" value="Add"/>
</form>
而jQuery代碼
$(function(){
var $newItemButton=$('#newItemButton');
var $newItemForm=$('#newItemForm');
var $textInput=$('item:textbox');
$newItemButton.show();
$newItemForm.hide();
$('#showForm').on('click',function(){
$newItemButton.hide();
$newItemForm.show();
});
$newItemForm.on('submit',function(e){
var $newText=$('input:textbox').val();
$('li:last').after('<li>' + $newText + '</li>').val();
$newItemForm.hide();
$newItemButton.show();
$textInput.val(' ');
});
});
您需要防止提交的默認行爲,通過返回'FALSE'或調用'e.preventDefault();' – jcubic
變量$爲textInput = $( '項目:文本框');看起來不對。 「輸入:文本框」會比以後在代碼中更加正確。我假設你以後在你的代碼中必須這樣做,因爲初始選擇器是錯誤的,所以你不能使用$ textInput來獲取val(); – klikas