Mam taki zagnieżdżony akordeon:
<script>
$(document).ready(function(){
var parentDivs = $("#standard div"),
childDivs1 = $("#standard h4").siblings("div");
childDivs2 = $("#standard h5").siblings("div");
$("#standard h3").click(function () {
parentDivs.slideUp();
if ($(this).next().is(":hidden")) {
$(this).next().slideDown({easing:"easeOutQuad", duration:1000});
} else {
$(this).next().slideUp({easing:"easeOutQuad", duration:1000});
}
});
$("#standard h4").click(function () {
childDivs1.slideUp();
if ($(this).next().is(":hidden")) {
$(this).next().slideDown({easing:"easeOutQuad", duration:1000});
} else {
$(this).next().slideUp({easing:"easeOutQuad", duration:1000});
}
});
$("#standard h5").click(function () {
childDivs2.slideUp();
if ($(this).next().is(":hidden")) {
$(this).next().slideDown({easing:"easeOutQuad", duration:1000});
} else {
$(this).next().slideUp({easing:"easeOutQuad", duration:1000});
}
});
});
</script>
Elementy div zawartości zawierają przyciski radiowe:
<p class="radioBtn">
<label for="input-1-1">Yes </label> <input id="input-1-1" name="clause" data-completed-id="1" value="1" type="radio" checked/>
</p>
<p class="radioBtn">
<label for="input-1-2">No </label> <input id="input-1-2" name="clause" data-completed-id="1" value="0" type="radio" />
</p>
Próbuję nakłonić ich do zmiany przy użyciu następującego kodu:
$("input:radio[name=clause]").change(function() {
alert("Test!");
});
Ale nic się nie dzieje, gdy zmieniam przyciski radiowe.
Odpowiedzi:
0 dla odpowiedzi № 1Spróbuj tego
$("input[name="clause"]").on("change",function() {
alert("Test!");
});
0 dla odpowiedzi nr 2
Twój kod jest OK. Spróbuj umieścić to w zdarzeniu dokumentu, takim jak ten ...
$(document).ready(function() {
$("input:radio[name=clause]").change(function() {
alert("Test!");
});
})
0 dla odpowiedzi № 3
OK, już to rozpracowałem. Zapomniałem, że używam wtyczki iQuery iCheck, która ma własny zestaw wywołań zwrotnych.
Przepraszam za marnowanie czasu każdego.