[英]Jquery getting the correct value based on checkbox checked
我無法讓這個簡單的代碼工作。 我想從data屬性中獲取值,並根據它將其傳遞給警報
$("input[type=checkbox]").change(function() {
var section_list = $('.section').data('section_list');
if ($(this).hasClass(section_list+"_list")) {
alert(section_list);
}
});
HTML:
<input type="checkbox" data-section_list = "1" class="section 1_list">
<input type="checkbox" data-section_list = "2" class="section 2_list">
<input type="checkbox" data-section_list = "3" class="section 3_list">
如何獲取警報以顯示data-section_list的相應值?
嘗試這個
$("input[type=checkbox]").change(function() {
var section_list = $(this).data().section_list;
if ($(this).hasClass(section_list+"_list")) {
alert(section_list);
}
});
嘗試從當前元素獲取data
時使用$(this)
引用,
$("input[type=checkbox]").change(function () {
var section_list = $(this).data('section_list');
if ($(this).hasClass(section_list + "_list")) {
alert(section_list);
}
}); //-- You have missed to mention the close parenthesis here.
change
功能。 $(this)
來獲取數據。 $(document).ready(function(){
$("input[type=checkbox]").change(function() {
var section_list = $(this).data('section_list');
if ($(this).hasClass(section_list+"_list")) {
alert(section_list);
}
}); // <-- Missing
});
您需要通過使用來獲取當前點擊的元素數據屬性, this
你目前正在使用越來越$(".section")
這將不會給所需的輸出,因為有頁面上的多個元素使用這個類:
更改:
var section_list = $(".section").data('section_list');
至:
var section_list = $(this).data('section_list'); //<--- gets current cliked element data attribute
您的代碼將如下所示:
$("input:checkbox").change(function() {
var section_list = $(this).data('section_list');
if ($(this).hasClass(section_list+"_list")) {
alert(section_list);
}
});
您需要獲取要單擊的元素的屬性
$("input[type=checkbox]").change(function() {
var section_list = $(this).attr('data-section_list');
if ($(this).hasClass(section_list+"_list")) {
alert(section_list);
}
}
試試這個:在改變功能之后使用它代替.section
<script type="text/javascript">
$(document).ready(function() {
$("input[type=checkbox]").change(function() {
var section_list = $(this).data('section_list');
if ($(this).hasClass(section_list+"_list")) {
alert(section_list);
}
});
});
</script>
嘗試這個:-
$("input[type=checkbox]").click( function(){
if( $(this).is(':checked') ) alert($(this).attr("data-section_list"));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.