2016-06-03 2 views
1

On dirait qu'il y a déjà eu beaucoup de discussions à ce sujet, mais je n'arrive pas à faire fonctionner mon code. J'ai un projet Django et des modèles avec des pastilles Bootstrap. J'essaie de lier les pilules du menu onglet aux urls de mon projet Django. Et je ne peux pas lire l'erreur Uncaught Error: Syntax error, unrecognized expression: /employee_user_info/40/ côté client. Voici mon code:Liaison des onglets Bootstrap aux URL du serveur

HTML:

<div class="container"> 
     <h2>{{person_details_form.second_nm_rus.value}} {{person_details_form.first_nm_rus.value}} {{person_details_form.middle_nm_rus.value}}</h2> 
     <ul class="nav nav-pills"> 
      <li class="active"><a data-toggle="pill" href="#home">Tab 1</a></li> 
      <li><a data-toggle="pill" href='/employee_user_info/{{employee_unique_id}}/'>Tab 2</a></li> 
      <li><a data-toggle="pill" href="#menu2">Tab 3</a></li> 
     </ul> 

     <div class="tab-content" style="margin-top:2%"> 
      <div id="home" class="tab-pane fade in active"> 
       <div class="container"> 
        <!-- Something --> 
       </div> 
      </div> 
     </div> 

Django URLconf

url(r'^employee_user_info/(?P<employee_unique_id>\d+)/$',employee_views.profile_user_info, name ='employee_user_info'), 

JS

var navpills = $('.nav-pills'); 
$(function() { 
    // activate tab on click 
    navpills.on('click', 'a', function (e) { 
     var $this = $(this); 
     // prevent the Default behavior 
     e.preventDefault(); 
     // send the hash to the address bar 
     window.location.hash = $this.attr('href'); 
     // activate the clicked tab 
     $this.tab('show'); // The error arises here 
    }); 

    $(window).bind('hashchange', refreshHash); 

    // read has from address bar and show it 
    if(window.location.hash) { 
     // show tab on load 
     refreshHash(); 
    } 
}); 
function refreshHash() { 
     navpills.find('a[href="'+window.location.hash+'"]').tab('show'); 
    } 

MISE À JOUR:

Le er ROR arrive sur le côté client lorsque je clique sur Tab 2.

MISE À JOUR 2

Lorsque vous appuyez sur Tab 2, l'URL devient http://127.0.0.1:8000/employee_profile_main/40/#/employee_user_info/40/ je suppose, le mâle s'arrête ici

+0

Vous aurez besoin de donner plus de contexte. Où exactement se produit cette erreur? –

+0

Non, veuillez indiquer le contexte de l'erreur telle que rapportée par le navigateur. Sur quelle ligne cela se passe-t-il? –

+0

J'ai ajouté un commentaire à côté de la ligne –

Répondre

0

Vous pouvez » t définir href pour a avec /. Je devine qu'il a utilisé comme sélecteur.

+0

J'ai essayé href = 'employee_user_info/{{employee_unique_id}} /' et href = '/ employee_user_info/{{employee_unique_id}} /' et même href = '# employee_user_info/{{employee_unique_id }}/':) –

+1

@EdgarNavasardyan, я написал, что в не можете использовать '/' в href, т.к. в bootstrap используется в качестве селектора. (vous ne pouvez pas utiliser '/' dans 'href'.) Bootstrap utilise href comme sélecteur) – betonimig

+0

Приятно) впервые пишу здесь по-русски. Не могли бы уточнить, я просто новичёк в этом. Можете написать сам код? –