[英]selector don't work properly
我有1個街區:
<div class="going" filmid="2">
<a href="">I am going!</a>
<div>Going too: 20</div>
</div>
和5塊:
<div class="going">
<a href="">I am going!</a>
<div>Going too: 20</div>
</div>
該塊的不同之處在於具有filmid
屬性。
我的js函數:
function setUpUpdateGoingCount() {
$("div.going a").click(function (e) {
e.preventDefault();
var filmId = $(this).parent("div").attr("filmid");
$.post("/Cinema/UpdateGoingCount", { id: filmId }, function () {
alert("test");
});
});
}
單擊事件可以很好地與沒有filmid
效果的塊filmid
使用。
您能解釋一下為什么以及如何使第一個程序正常工作嗎?
因為filmid
不是HTML中存在的屬性,所以您應該改用data屬性:
<div class="going" data-filmid="2">
您可以通過以下方式訪問此文件:
var filmId = $(this).parent("div").data("filmid");
AJAX帖子以任一方式發送。 設置了filmid
div內的錨點(鏈接),其參數id
設置為filmid的內容。 不包含filmid
的div發送時,參數為空。
UDATE如果您的意思是不工作 ,則javascript不顯示警告消息,那可能是因為您在該調用中遇到錯誤,並且需要以這種方式指定錯誤函數:
function setUpUpdateGoingCount() {
$("div.going a").click(function(e) {
e.preventDefault();
var filmId = $(this).parent("div").attr("filmid");
$.post("/Cinema/UpdateGoingCount", {
id: filmId
}, function() {
alert("test");
}).error(function() {
alert("error");
});
});
}
這是您的代碼http://jsfiddle.net/hpgsL/1/的有效示例
您需要將第二個類添加到不包含filmid的塊中,以在選擇器中使用,因為.click將綁定到所有div。並確定它們是否具有filmid屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.