jquery
  • html
  • 2014-05-21 2 views 0 likes 
    0

    J'essaie de changer l'URL d'un lien en fonction du choix de la boîte de sélection que l'utilisateur choisit. Le lien est défini sur "admin.php? Page = viewdevelopment & developerid = '. $ Developer_id.' & plotnumber = "dans le PHP et je veux ensuite javascript pour ajouter le numéro de plot à la fin en fonction de ce qu'ils choisissent dans la boîte de sélection.Comment faire pour modifier la requête url avec la boîte de sélection avec jQuery

    Mon code actuel est le suivant:

    $('#plot_number').on('change', function(){ 
        var plot = $(this).val(); // Get the plot number 
        var _href = $('.tochange').attr("href"); 
        //find the closest .tochange 
        var select = $(this).parents('tr').find('.tochange'); 
        select.attr("href", _href + plot); 
    }); 
    

    qui fonctionne si l'utilisateur change deux fois leur sélection, il le répète dans l'URL.

    Une idée pour l'empêcher de se répéter?

    Merci

    +0

    est parce que vous apposent avec le href déjà changé href pas celui orginal. – Runcorn

    +0

    Votre événement de changement est-il déclenché autant de fois que l'utilisateur change de liste déroulante? – Chandru

    Répondre

    1

    C'est ce que vous pourriez faire, définir une variable globale dans

    $(document).ready(function(){ 
    //define a global variable that stores the original href attribute 
    
    orginalHref= $('.tochange').attr("href"); 
    
    }); 
    

    et utiliser le même code que ci-dessus avec une légère modification:

    $('#plot_number').on('change', function(){ 
        var plot = $(this).val(); // Get the plot number 
        //find the closest .tochange 
        var select = $(this).parents('tr').find('.tochange'); 
        select.attr("href", orginalHref + plot); 
    }); 
    

    Ou vous pouvez stocker l'attribut href dans un nouvel élément hidden et obtenir le href à partir de là.

    Et, si vous utilisez HTML5 doctype, il existe une autre solution de contournement. Vous pouvez ajouter data attrbutes.

    <a href class="toChange" href-"someURL" data-href="someURL">Some Link</a> 
    

    Et comme l'accès

    var _href = $('.tochange').attr("data-href"); 
    

    ou

    var _href = $('.tochange').data("href"); 
    
    +0

    Merci beaucoup pour votre réponse. Cela semble si simple maintenant. – pezza3434

    +0

    Heureux que ça vous a aidé. – Runcorn

    Questions connexes