2017-08-11 1 views
4

Ich möchte fragen, warum der folgende Code nicht durch 1,2,3,1,2,3 in Reihenfolge gehen kann (jsfiddle)
während ich weiter "next" drücken .jquery prev und nächste in der Diashow in Reihenfolge wiederholt

Wenn ich den folgenden Code in Chrome öffne und ausführe, kann er den Code nicht in der Reihenfolge "1,2,3" ausführen (er bleibt bei 3 stehen).

HTML

<div id="slides"> 
    <ul class="options-list"> 
    <li><input type="radio" class="getradiotomove" id="bundle-73" name="bundle_option"checked="checked" value="73"></li> 
    <li><input type="radio" class="getradiotomove" id="bundle-72" name="bundle_option" value="72"></li> 
    <li><input type="radio" class="getradiotomove" id="bundle-74" name="bundle_option" value="74"></li> 
</div> 

<div id="buttons"> 
    <a href="#" id="prev">prev</a> 
    <a href="#" id="next">next</a> 
    <div class="clear"></div> 
</div> 

JS

$('#next').click(function() { 
    var $all  = $('.getradiotomove'); 
    var $current = $('.getradiotomove:checked'); 

    var index = $all.index($current) + 1; 
    if(index >= $all.length) 
     index = 0; 
    $($all[index]).attr('checked', 'checked'); 
    return false; 
}); 
+1

Das Beispiel funktioniert für mich auf Chrom und Firefox. –

+0

... ich kann es nicht in Firefox und Chrome machen. Warum haben Sie das Fehlerprotokoll –

+0

überprüft? –

Antwort

1

Hier gehen Sie mit einem weiteren Ansatz http://jsfiddle.net/hTgv3/162/

$('#next').click(function() { 
 
    if($('.getradiotomove:checked').parent().is(':last-child')){ 
 
    \t $('ul[class="options-list"] > li') 
 
     \t .first() 
 
     .find('.getradiotomove') 
 
\t  .prop('checked', true); 
 
    } else { 
 
    \t $('.getradiotomove:checked') 
 
     .parent() 
 
     .next('li') 
 
     .find('.getradiotomove') 
 
     .prop('checked', true); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="slides"> 
 
    <ul class="options-list"> 
 
     <li><input type="radio" class="getradiotomove" id="bundle-73" name="bundle_option" value="73" checked></li> 
 
     <li><input type="radio" class="getradiotomove" id="bundle-72" name="bundle_option" value="72"></li> 
 
     <li><input type="radio" class="getradiotomove" id="bundle-74" name="bundle_option" value="74"></li> 
 
    </ul> 
 
</div> 
 

 
<div id="buttons"> 
 
    <a href="#" id="prev">prev</a> 
 
    <a href="#" id="next">next</a> 
 
    <div class="clear"></div> 
 
</div>

Hoffe, das wird Ihnen helfen, das Problem zu lösen.

+0

danke für die antworten. –

+0

Willkommen @ taikachan :) – Shiladitya

+0

es funktioniert in der Ebene HTML-Dateien. Allerdings, wenn ich meine Website (mit vielen Plugin), kann es nicht kontinuierlich machen. Ihre Lösung ist jedoch das Beste für mich. –

Verwandte Themen