jQuery 행은 행을 선택합니다
문제
정말 갇혀 .. 긴급한 조언이 필요합니다 : D 여기에 내 html이 있습니다.
<!-- Beginning of ROW !-->
<div id="row1">
<div id="entry">
free
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio" value="0" />
</div>
<div id="entry">
week
<span></span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />
</div>
</div>
<!-- End of ROW !-->
<!-- Beginning of ROW !-->
<div id="row2">
.... same as in row 1
</div>
<!-- End of ROW !-->
nth row ..
jQuery는 다음과 같습니다.
$("input").click(function() {
$("input").parent("div").css("background", "url(images/div_bg.png)");
$(this).parent("div").css("background", "url(images/div_bg_hover.png)");
});
내가하려는 일 .. 라디오 입력을 선택할 때 위치에 위치한 div가 배경을 변경해야하며 행이 하나만 있으면 완벽하게 작동하지만 예를 들어 첫 번째 행에서 값을 선택하려고하면 완벽하게 작동합니다. 그런 다음 두 번째 행에서 값을 선택합니다 .. 무선 입력이 위치한 두 번째 행의 DIV는 배경이 배경을 변경하지만 첫 번째 행의 DIV는 입력을 확인했지만 다른 배경으로 역전됩니다. 여기에 제가 달성하려는 내용은 다음과 같습니다.
그리고 여기에 내가 달성 한 것이 있습니다.
해결책
두 번째 jQuery 라인의 목적은 무엇입니까?
$("input").parent("div").css("background", "url(images/div_bg.png)");
이것은 모든 "입력"div의 배경을 재설정 할 것입니다. 당신의 목표를 올바르게 이해한다면 당신이 원한다고 생각합니다.
$(this).parent("div").siblings("div.entry").css("background", "url(images/div_bg.png)");
그렇게하면 당신이 바꾸는 항목의 형제 자매 만 배경을 재설정하게됩니다.
참고로, 동일한 ID를 가진 여러 개의 div가 있습니다. 좋은 생각은 아닙니다.
다른 팁
이 라인 : $("input").parent("div").css("background", "url(images/div_bg.png)"
다른 모든 항목이 다른 모든 항목이 정상으로 재설정되어 한 번에 1 개의 활성 상태 만 가질 수 있습니다. 각 행에 하나의 항목을 선택할 수 있도록 행으로 범위를 범할 수 있습니다.
선택한 모든 입력 상자가 아닌 클릭 된 항목에 동작 만 할당합니다. 다음과 같은 기능을 만들고 싶을 수도 있습니다.
function foo()
{
$('input :selected').css(bar);
}
이제 입력 이벤트에서 클릭 이벤트를받을 때마다 전화 표시 표시 줄이 있습니다. 사양을 충족하려면 FOO를 수정해야 할 수도 있습니다.