2016-08-24 5 views
0

Ich versuche herauszufinden, wie man das Jquery Raty-Plugin benötigt. Kennt jemand einen einfachen Weg, nur um sicherzustellen, dass der Benutzer auf einen Stern geklickt hat. Wenn jemand einen Teil des Codes sehen möchte, frage mich bitte. Ich bin nicht zu groß mit jQuery aber bitte seien Sie ausführlich und danke.jquery raty erfordern Bewertung

$rates.raty({ 
     half: false, 
     target : '#add_post_rating', 
     hints: pixreviews.hints, 
     path: path, 
     targetKeep : true, 
     //targetType : 'score', 
     targetType : 'hint', 
     //precision : true, 
     score: default_rating, 
     scoreName: 'pixrating', 
     click: function(rating, evt) { 

      $('#add_post_rating').val('' + rating); 
      $('#add_post_rating option[value="' + rating + '"]').attr( 'selected', 'selected'); 

     }, 
     starType : 'i' 
    }); 
+0

diese Nähte der Weg zu gehen '$ ('div') sein raty ('Score');' von [jQuery Raty -. Funktionen] (https://github.com/wbotelhos/raty#functions) –

+0

wo soll ich das setzen – jakecolor

+0

_ "Kennt jemand einen einfachen Weg, nur um sicherzustellen, dass der Benutzer auf einen Stern geklickt hat" _... so , je nachdem, wo Sie dies überprüfen müssen ... oder welches Ereignis "Ihre Frage auslösen" zum Beispiel onclick, beforeClose. –

Antwort

1

Weil Sie definiert:

scoreName: 'pixrating' 

Raty wird ein Eingabetyp verstecktes Feld innerhalb des div erstellen. Sie müssen dieses Feld berücksichtigen.

Mein Beispiel und fiddle:

$(function() { 
 
    $('div').raty({ 
 
    half: false, 
 
    hints: ['bad', 'poor', 'regular', 'good', 'gorgeous'], 
 
    path: 'https://raw.githubusercontent.com/wbotelhos/raty/master/lib/images/', 
 
    targetKeep: true, 
 
    //targetType : 'score', 
 
    targetType: 'hint', 
 
    //precision : true, 
 
    score: 0, 
 
    scoreName: 'pixrating', 
 
    click: function (rating, evt) { 
 
     $('#add_post_rating').val(rating); 
 
    }, 
 
    starType: 'i' 
 
    }); 
 

 
    // handle the select box changes 
 
    $('#add_post_rating').on('change', function (e) { 
 
    $('div input[name="pixrating"]').val(this.value); 
 
    $('div').raty('score', this.value); 
 
    }).trigger('change'); 
 

 
    // on form submit do your test.... 
 
    $('#frm').on('submit', function(e) { 
 
    if ($('div').raty('score') == '0') { 
 
     e.preventDefault(); 
 
     console.log('error: raty is 0!'); 
 
     return; 
 
    } 
 
    }) 
 
});
<link rel="stylesheet" href="https://rawgit.com/wbotelhos/raty/master/lib/jquery.raty.css"> 
 
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
 
<script src="https://rawgit.com/wbotelhos/raty/master/lib/jquery.raty.js"></script> 
 

 
<form id="frm"> 
 
    <div></div> 
 
    <select id="add_post_rating"> 
 
     <option value="0"></option> 
 
     <option value="1">1</option> 
 
     <option value="2">2</option> 
 
     <option value="3">3</option> 
 
     <option value="4">4</option> 
 
     <option value="5">5</option> 
 
    </select> 
 
    <input type="submit" value="Submit"> 
 
</form>