使用Dropkick jQuery插件创建多个更改回调
-
12-12-2019 - |
题
我正在使用优秀的 dropkick jquery plugin 作为一个网站上的搜索工厂的一部分。Dropkick正在调整一个选择用户用来选择要搜索的网站的选择框。正在使用Google自定义搜索,并且我一直成功地告诉Dropkick更改隐藏的'#cx'字段的值 - #cx字段告诉谷歌哪个搜索帐户使用。
这是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代码?我已经用这个推动了我的知识的极限!
提前感谢任何帮助。
cheers
解决方案
更改操作方法与更改任何其他属性一样简单。 所以在你的.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);
}
});
. 不隶属于 StackOverflow