si有以下脚本:
function getInputString() {
//dropdown value
$('#dropdown').bind('change', function(event) {
var dValues = $('#dropdown:selected').val();
//the standard form should hide if nothing is choosen
if("" != dValues) {
$('.shop_search').hide();
}else {
$('.shop_search').show();
}
//if first 2 letters are not MZ cValue changes, else it is the selected one
if (dValues.substr(0, 2) != "MZ") {
var cValues = "simson " + dValues;
}else {
var cValues = dValues;
}
});
return cValues ;
}
function getSearchString() {
//searchform value
$('#merkmalsuche').keyup(function () {
var sValues = $(this).val();
}).keyup();
return sValues;
}
function generateURL() {
var mString = getSearchString();
var vString = getInputString();
window.location = "http://www.akf-shop.de/tag/" + vString + " " + mString;
}
$('#merkmalsuche').submit(function() { generateURL(); });
生成的选项包含选项,设置第一个var。在更改时,应隐藏正常搜索表单并显示镜像搜索表单。在keyup上,输入的单词是第二个var。
如果您点击提交,您现在应该链接到生成的网址。 但是如果在选择字段中更改值,则不会发生任何事情。
谢谢
答案 0 :(得分:1)
检查var的范围,在函数内部定义var并且无法到达外部...
答案 1 :(得分:1)
因为调用两个函数
没有任何反应var mString = getSearchString();
var vString = getInputString();
只是协助处理程序..
此外,由于 cValues 未在函数范围之外定义,因此页面上会出现错误。它将是事件处理程序的本地..
答案 2 :(得分:0)
尝试改变
var dValues = $('#dropdown:selected').val();
到var dValues = $('#dropdown option[selected=selected]').val();
或只是
var dValues = $('#dropdown').val();