2012-03-26 17 views
4

Ich habe seit einer Woche versucht, einen dynamischen jplayer zu erstellen, der sich abhängig von der gewählten Option in einer Auswahlbox ändert. Andere Stack-Überlauf-Beiträge waren sehr hilfreich, also hoffe ich, dass ich das herausfinden kann. Irgendwelche Links zu Beispielen, die andere Leute gemacht haben, würden ebenfalls geschätzt werden. Die zugehörige Javascript ist unten:dynamischer jPlayer

jQuery(document).ready(function($){ 

    $(function() { 
     var pinyinTone=null; 
     var toneSelect=null; 
     var pinyinSound=null; 
     $("#jquery_jplayer").jPlayer({ 
      ready: function() { 
      }, 
      swfPath: "/sites/all/libraries/jplayer/js", 
      supplied: "mp3" 
     }) 
     $("#jquery_jplayer").jPlayer("setMedia", { 
      mp3: '/sites/default/files/pinyinSound/' + pinyinTone + '.mp3', 
      wav: '/sites/default/files/pinyinSound/' + pinyinTone + '.wav' 
     }); 
    }; 

    $("select#pinyinSound").change(function(){ 
     toneSelect=1; 
     $('#toneSelectDiv').show(); 
     pinyinSound=$(this).val(); 
     $.ajax({ 
      url: "/HBCAppFiles/get_list.php", 
      data: { 
       pinyinSound: $("select#pinyinSound").val() 
      }, 
      dataType:"json", 
      success:function(j){ 
       var options = ''; 
       for (var i = 0; i < j.length; i++) { 
        options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>'; 
       } 
       $("select#toneSelect").html(options); 
      } 
     }) 
     pinyinTone=pinyinSound + toneSelect; 
     processPinyinVars(pinyinTone); 
    }); 

    $("img#pinyinSliderPlayButton").click(function(){ 
     $('#inner').animate({width: 250}, function(){ $(this).width(0)}); 
     $("#jquery_jplayer").jPlayer("play"); 
     return false; 
    }); 

})(jQuery); 
+0

Könnten Sie Ihren Code einrücken? – Reinard

+0

Stack Overflow wurde beschwert, wenn mein Code mehr als 4 Leerzeichen eingerückt war ... –

Antwort

3

ich mein Problem herausgefunden ... Ich beschloss, über mein Problem einen anderen Weg zu gehen, und kam viel schneller zur Lösung. Ich erkannte, dass ich mit jQuery auf das ausgewählte Element einer Anweisung zugreifen musste. Um das zu tun, musste ich die Suchfunktion verwenden. Was ich kam, war das:

$("#trackSelect").change(function(e) { 
     my_trackName.text($(this).val()); 
     my_jPlayer.jPlayer("setMedia", { 
      mp3: $(this).find(':selected').attr("href") 
     }); 
    });