2016-09-13 2 views
2

내 HTML에서 knockoutJS를 사용하여 배열에 특정 값이 포함되어 있는지 확인하는 방법이 있습니까?배열 녹아웃 js에있는 경우

나는 다음과 같은 체크 박스가 : 내 data-bind 속성 ($parent.name in groupList) 내부의 특정 문이 작동 할 경우

<td><input type="checkbox" name="group" data-bind="checked: $parent.name in groupList" /></td> 

그것은 좋은 것입니다,하지만 분명히하지 않습니다. 나뭇 가지로 쉽게 :

{% if myVar is in_array(array_keys(someOtherArray)) %} 

그러나 Knockout JS로이 작업을 수행 할 수있는 방법을 찾을 수 없습니다. groupList에는 이름이있는 배열이 들어 있으며 특정 이름이 포함되어 있는지 확인하고 싶습니다. 이 경우 확인란을 선택해야하며 그렇지 않은 경우 확인란을 선택해야합니다.

+5

데이터 바인딩 = "확인 :.! 그룹 목록() 같이 IndexOf (ko.unwrap ($의 parent.name)) == -1" – TSV

+0

작품 아주! 빠른 응답에 감사드립니다! –

+0

@TSV, 좋은 해결책. 그래도'groupList'를 호출 할 필요가 없습니다. 녹아웃은 이미 값을 내부적으로 래핑 (wrapping)하는'indexOf' 메소드를 제공합니다. 따라서,'groupList.indexOf (...)'도 마찬가지입니다. – haim770

답변

0
당신은 관측 배열 같이 IndexOf를 사용할 수 있습니다

:

data-bind="checked: groupList().indexOf(ko.unwrap($parent.name)) !== -1" 
관련 문제