0

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(); });

有一个带有选项的生成选择,设置第一个变量。更改后,应隐藏普通搜索表单并显示镜像搜索表单。在 keyup 上,输入的单词是第二个 var。

如果您单击提交,您现在应该链接到生成的 URL。但是,如果更改选择字段中的值,则不会发生任何事情。

谢谢

4

3 回答 3

1

检查你的 var 的范围,你在一个函数中定义你的 var 并且不能在外部访问......

于 2012-11-15T09:32:15.477 回答
1

什么都没有发生,因为调用了这两个函数

var mString = getSearchString();
   var vString = getInputString();

只是要评估处理程序..

此外,您将在页面上出现错误,因为cValues未在函数范围之外定义..它将是事件处理程序的本地..

于 2012-11-15T09:33:21.383 回答
0

尝试更改 var dValues = $('#dropdown:selected').val();var dValues = $('#dropdown option[selected=selected]').val();或只是

var dValues = $('#dropdown').val();
于 2012-11-15T09:26:56.290 回答