iT邦幫忙

0

Jquery 判斷 data-* 的值有沒有包含

<input class="tit" data-menu="4" type="checkbox">
<input class="tit" data-menu="4.1" type="checkbox">
<input data-menu="4.1.1" type="checkbox">
<input data-menu="4.1.2" type="checkbox">
<input data-menu="4.2" type="checkbox">

想問一下 我現在有這4個checkbox
每個都有data-menu的值
我現在把data-menu 是4的打勾的話
下面其他的4開頭的都要打勾
例如 打勾 4 => 自動把 4.1 4.1.1 4.1.2 4.2 打勾
或是 打勾 4.1=> 自動把 4.1.1 4.1.2 打勾

要如何去判斷data的值有沒有包含4或4.1(打勾那個的值)
我用indexOf 他會錯誤說未定義function

JS

$(document).ready(function() {
		$('.tit').on('change',function(){
			console.log($(this).data('menu').indexOf());
		})
	});
froce iT邦大師 3 級 ‧ 2018-10-17 17:14:55 檢舉
indexOf是array的方法,你這樣當然會跳沒這函數,因為這裡的this只會有一個元素而已。
柯柯 iT邦新手 5 級 ‧ 2018-10-17 17:30:38 檢舉
那我想問一下 indexOf是array的方法 可是樓下他說的attr 也可以用耶 是為什麼@@?
Homura iT邦高手 1 級 ‧ 2018-10-17 17:56:35 檢舉
attr是抓元素的屬性,一個元素就能用@@

2 個回答

4
froce
iT邦大師 3 級 ‧ 2018-10-17 19:15:31
最佳解答
柯柯 iT邦新手 5 級 ‧ 2018-10-18 10:08:29 檢舉

原來有 startsWith 這個可以用
感謝 第一次知道這個函數
/images/emoticon/emoticon42.gif

1
console.log($(this).attr('data-menu'));

我要發表回答

立即登入回答