作爲一個總是使用Javascript的初學者,我決定嘗試從非常簡單的開始和更先進的基因敲除。然而,我甚至無法設法在一個非常簡單的情況下運作。基因敲除文本綁定對輸入不起作用
我猜這個問題很簡單,我有點尷尬地問這裏。但是我不擅長調試Javascript,也不知道bug如何表現出來。
這是網頁的HTML源代碼它已經被asp.net MVC 3生成後:
<html>
<head>
<title>Index</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
</head>
<body>
<h2>Index</h2>
<script src="/Scripts/knockout-1.3.0beta.debug.js" type="text/javascript"></script>
<script src="/Scripts/knockout-1.3.0beta.js" type="text/javascript"></script>
<script type="text/javascript">
var viewModel = {
name: "Joe",
number: "13"
};
</script>
<script type="text/javascript">
ko.applyBindings(viewModel);
</script>
<ul>
<li>Name: <input data-bind="text: name"/></li>
<li>Number: <input data-bind="text: number"/></li>
</ul>
<ul>
<li>Name: <span data-bind="text: name"></span></li>
<li>Number: <span data-bind="text: number"></span></li>
</ul>
</body>
</html>
喬或13不會被綁定到輸入或文本框。
試圖把它放在一個ko.observable(),但也不工作。這就像腳本沒有運行。
嘗試使用FireBug進行調試,我可以看到applyBinding被執行,並且viewModel對象包含正確的變量。
這可能是明顯的事情在這裏發生。如果你在這裏看不到它,那麼你能指出在使用FireBug時應該注意什麼嗎?
編輯
試圖給我仍然有問題的解決方案的幾種組合之後。有了一個解決方案的HTML看起來像這樣:
<html>
<head>
<title>Index</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="/Scripts/knockout-1.3.0beta.debug.js" type="text/javascript"></script>
<script type="text/javascript">
var viewModel = {
name: ko.observable("Joe"),
number: ko.observable("13")
};
</script>
<script type="text/javascript">
$(function() { ko.applyBindings(viewModel); })
</script>
</head>
<body>
<h2>Index</h2>
<ul>
<li>Name: <input data-bind="text: name"></input></li>
<li>Number: <input data-bind="text: number"></input></li>
</ul>
<ul>
<li>Name: <span data-bind="text: name"></span></li>
<li>Number: <span data-bind="text: number"></span></li>
</ul>
</body>
</html>
似乎沒有我使用哪種applyBindings解決方案,他們所有的工作一樣。
所以綁定終於可以工作,但只能在IE和Firefox上使用,而不能在Chrome上使用。此外,觀察結果完全不起作用。我無法通過寫入輸入字段來更新字段。
好吧,知道這很簡單。那麼慣例是使用這個jquery.ready方法?我想我可以谷歌瞭解它。 –
$(document).ready(ko.applyBindings(viewModel))應該怎麼辦?它不工作。 –
$(function(){ko。applyBindings(viewModel);})將可能更好地工作 –