我有4個容器,我需要知道哪一個被點擊,或者當他們在輸入框上關注時按下「回車」鍵。找到哪個框被點擊(或輸入按鍵)
我該如何修改我的代碼才能做到這一點?
HTML(僅示出了容器2在這裏):
<div id="boxes">
<div class="container e_type1" data-custom-data="e_type1">
<div class="header"><h2>E Type 1</h2></div>
<div class="image"></div>
<div class="footer">
<input type="text" name="item_level" value="1" class="item_level" min="1" step="1" required>
</div>
</div>
<div class="container e_type2" data-custom-data="e_type2">
<div class="header"><h2>E Type 2</h2></div>
<div class="image"></div>
<div class="footer">
<input type="text" name="item_level" value="1" class="item_level" min="1" step="1" required>
</div>
</div>
</div>
<div id="dialog" title="Progress">
<p>
<div id="progressbar">
<div class="progress-label"></div>
</div>
</p>
<div id="message"></div>
</div>
JS片段(全碼可以在的jsfiddle找到)
// Image container was clicked.
// Get data and send first Ajax request.
$(".image").click(function() {
//console.log("Let's Start! Image container was clicked");
$("#dialog").dialog("open");
var e_type_var = $(".container").data("custom-data"),
item_level_var = $(this).$("#item_level").val();
alert(e_type_var + " was clicked");
forgeAjax(e_type_var, item_level_var, 'first_req', function (error) {
// By default, show Cancel button.
$("#dialog").dialog({
buttons: [{
text: "Close",
click: function() {
$(this).dialog("close");
}
}]
});
// Focus Cancel button
$('.ui-dialog button:eq(1)').focus();
// If there's no error returned, show Cancel and Button2 buttons.
if (!error) {
$("#dialog").dialog({
buttons: {
'Cancel': function() {
$(this).dialog('close');
},
'Button2': function() {
$("#message").html("");
startProgressBar(e_type_var, item_level_var);
}
}
});
// Focus Button2.
$('.ui-dialog button:eq(2)').focus();
}
});
});
EDIT :謝謝大家指出id="item_level"
。這是我的一個疏忽,並沒有解釋爲什麼代碼不起作用。它已從問題中刪除。
您可能希望從item_level元素中刪除id屬性,因爲ID應該是唯一的。你已經在爲它們使用'class'屬性,所以通過'class'獲取這些元素應該可以。 –
@TahirAhmed忘了刪除,感謝您指出,但不能解決問題。 – Draven