Question

J'utilise l'excellent Dropkick JQuery Plugin dans le cadre d'une facilité de recherche sur un site Web.Dropkick est en train de choisir une boîte de sélection que l'utilisateur utilise pour choisir le site Web à rechercher.Google Custom Search est utilisé et j'ai réussi à dire Dropkick de modifier la valeur d'un champ masqué '#CX' - Le champ #CX indique à Google que recherche compte à utiliser.

Voici le HTML:

<form action="http://example1.com/search/" method="get" id="cse-search-box">
    <fieldset>
        <input type="hidden" name="cx" id="cx" value="custom_search_account_1" />
        <input type="hidden" name="cof" value="FORID:11" />
        <input type="hidden" name="ie" value="UTF-8" />            
        <div class="keywords">
            <label for="keywords">Search</label>
            <input type="text" name="q" id="keywords" class="search text" />
        </div>
        <select name="dk" class="dk">
            <option value="custom_search_account_1">Search website 1</option>
            <option value="custom_search_account_2">Search website 2</option>
            <option value="custom_search_account_3">Search website 3</option>
        </select>
        <input type="image" class="button" src="imgurl" alt="Search" name="sa" />
    </fieldset>
</form>

Voici le code de travail de travail qui modifie la valeur du champ Hidden '#CX' en fonction du moteur de recherche que l'utilisateur choisit:

$('.dk').dropkick({
    change: function (value, label) {
        var x = $(this).val();                
        $('#cx').val(x);
    }
});

C'est tout génial.Cependant, l'action de la forme doit également être modifiée en fonction de la sélection de l'utilisateur.Est-ce possible avec ce plugin?Si oui, quels changements dans le code JQuery dois-je faire s'il vous plaît?J'ai déjà poussé les limites de ma connaissance avec cela!

Merci d'avance pour toute assistance.

acclamations

Était-ce utile?

La solution

Modification de la méthode d'action est aussi simple que de modifier tout autre attribut. Donc, dans votre méthode .change, effectuez simplement un chèque et modifiez l'action conforme à la valeur.

Voici un violon

$('.dk').dropkick({
    change: function (value, label) {
        var x = $(this).val();                
        var action;
        $('#cx').val(x);

        if (x == 'custom_search_account_1') { action = 'action1'; }
        else if (x == 'custom_search_account_2') { action = 'action2'; }
        else if (x == 'custom_search_account_2') { action = 'action2'; }


        $('#cse-search-box').attr('action', action);

     }
});

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top