0

我正在使用出色的DropKick jQuery 插件作为网站搜索工具的一部分。DropKick 设计了一个选择框,用户使用它来选择要搜索的网站。正在使用 Google 自定义搜索,我已经成功地告诉 DropKick 更改隐藏的“#cx”字段的值 - #cx 字段告诉 Google 要使用哪个搜索帐户。

这是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>

这是工作 jQuery 代码,它根据用户选择的搜索引擎更改隐藏的“#cx”字段的值:

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

这一切都很棒。但是,表单操作也需要根据用户的选择进行更改。这可以使用这个插件吗?如果是这样,我需要对 jQuery 代码进行哪些更改?我已经用这个突破了我的知识极限!

提前感谢您的任何帮助。

干杯

4

1 回答 1

1

更改操作方法与更改任何其他属性一样简单。因此,在您的 .change 方法中,只需进行检查并更改符合该值的操作。

这是一个小提琴

$('.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);

     }
});
于 2012-10-02T13:16:37.050 回答