Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery中的调用函数_Javascript_Jquery - Fatal编程技术网

Javascript Jquery中的调用函数

Javascript Jquery中的调用函数,javascript,jquery,Javascript,Jquery,我在网页中有这个下拉(selectbox)HTML代码,我使用Jquery将其存储在Cookie中 <select onchange="if (this.value != '') {Add_Search_Param('f-' + this.value.split('|')[1], this.value.split('|')[0]); Refine();}"><option value="">Find by LENGTH</option><option v

我在网页中有这个下拉(selectbox)HTML代码,我使用Jquery将其存储在Cookie中

<select onchange="if (this.value != '') {Add_Search_Param('f-' + this.value.split('|')[1], this.value.split('|')[0]); Refine();}"><option value="">Find by LENGTH</option><option value="185|14 inch">14 inch (31)</option><option value="186|11 inch">11 inch (39)</option><option value="187|8 inch">8 inch (38)</option></select>
按长度查找14英寸(31)11英寸(39)8英寸(38)
我有以下代码,它使用jquery读取上面的select标记,并在该页面上显示相同的下拉列表。我还设置了一个函数来选择我使用jquery从cookie中获得的标记,但问题是当我在下拉列表中更改选项时,该函数没有被调用。请帮帮我

<div id="content"></div>
<script src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">

    var refineResults = true;
    function Add_Search_Param(param, value, append, forceRefine) {
        alert("Good");
        if (param == 'pricerange') {
            value = value.split('-');
            Add_Search_Param('minprice', value[0]);
            Add_Search_Param('maxprice', value[1], append, forceRefine);
            return;
        }
        if (SearchParams.indexOf(param + '=') != -1) {
            if (append) {
                SearchParams = SearchParams.replace(new RegExp(param + '=([^&]*)'), param + '=$1' + escape(value));
            }
            else {
                SearchParams = SearchParams.replace(new RegExp(param + '=([^&]*)'), param + '=' + escape(value));
            }
        }
        else {
            SearchParams = SearchParams + '&' + param + '=' + escape(value);
        }
        if (param != 'page') {
            Add_Search_Param('page', 1);
        }
        if (forceRefine) {
            Refine();
        }
    }
    function Refine() {
        if (SearchParams.substr(0, 1) == '&') {
            SearchParams = SearchParams.substr(1);
        }
        location.href = location.pathname + '?' + SearchParams;
        return false;
    }
    function OpenNewWindow(url, width, height) {
        window.open(url, null, 'top=10,left=10,menubar=0,resizable=1,scrollbars=1,width=' + width + ',height=' + height)
    }
    function OnSubmitSearchForm(event, form) {
        var additionalSearch = v$('additionalsearch');
        if (additionalSearch) {
            if (additionalSearch.value != 'Search Within') {
                Add_Search_Param('search', ' ' + additionalSearch.value, true);
            }
        }
        if (refineResults) {
            CancelEvent(event);
            return Refine();
        }
        else {
            return true;
        }
    }
    function OnKeyDownPageInputBox(evt, inputBox) {
        if (IsReturnKey(evt)) {
            Add_Search_Param('page', inputBox.value);
            Refine();
            return false;
        }
    }

    function hello() {
        alert("Hello");
    }

    function getCall() {
        function parseHtml(document) {

            var k = 0;
            var s = 0;

            var count = $(document).find('select').each(function() {

                var str = $(this).attr('onchange');

                if (str.indexOf("Add_Search_Param('f-' + this.value.split('|')[1],") != -1) {

                    createCookie("onchangecall", $(this).attr('onchange'));
                    createCookie("options", $(this).html());
                    //alert($(this).html());

                    k = 1;

                }
                else {
                    s = 1;
                }



            }).length;

            if (s == 1 && k == 0) {
             $(function() {
                var atr = 'onchange="' + readCookie("onchangecall") + '; Refine();}"';
                $("#content").append('<select id="sel" onchange="fly()">' + readCookie("options") + '</select>');

                $("#sel").attr("onchange", atr);
                alert($("#sel").attr("onchange"));
              });
            }

        }

        $.ajax({
            type: "GET",
            url: "",
            dataType: "html",
            success: parseHtml
        });

        function createCookie(name, value) {

            var expires = "";
            document.cookie = name + "=" + value + expires + "; path=/";
        }

        function readCookie(name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');
            for (var i = 0; i < ca.length; i++) {
                var c = ca[i];
                while (c.charAt(0) == ' ') c = c.substring(1, c.length);
                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
            }
            return null;
        }

    }



    getCall();

</script>
<input type="image" src="/v/vspfiles/assets/images/image.jpg" style="float:left; margin:0 0 0; font-size: 13px; font-family: arial;"/>

var-results=true;
函数Add_Search_Param(Param、value、append、forceRefine){
警惕(“良好”);
如果(参数==“价格范围”){
value=value.split('-');
添加搜索参数('minprice',值[0]);
添加搜索参数('maxprice',值[1],追加,强制细化);
返回;
}
if(SearchParams.indexOf(param+'=')!=-1){
如果(附加){
SearchParams=SearchParams.replace(新的RegExp(param+'=([^&]*)),param+'=$1'+转义(value));
}
否则{
SearchParams=SearchParams.replace(新的RegExp(param+'=([^&]*)),param+'='+escape(value));
}
}
否则{
SearchParams=SearchParams+'&'+param+'='+escape(值);
}
如果(参数!=“第页”){
添加搜索参数(第1页);
}
如果(强制细化){
精炼();
}
}
函数优化(){
if(SearchParams.substr(0,1)=='&'){
SearchParams=SearchParams.substr(1);
}
location.href=location.pathname+'?'+搜索参数;
返回false;
}
函数OpenNewWindow(url、宽度、高度){
打开(url,null,'top=10,left=10,menubar=0,resizeable=1,scrollbars=1,width='+width+',height='+height)
}
SubmitSearchForm(事件、表单)上的函数{
var additionalSearch=v$(“additionalSearch”);
如果(附加搜索){
如果(additionalSearch.value!=“在”内搜索){
添加搜索参数('Search',''+additionalSearch.value,true);
}
}
如果(结果){
取消事件(事件);
返回Refine();
}
否则{
返回true;
}
}
功能OnKeyDownPageInputBox(evt,inputBox){
如果(IsReturnKey(evt)){
添加搜索参数('page',inputBox.value);
精炼();
返回false;
}
}
函数hello(){
警惕(“你好”);
}
函数getCall(){
函数解析HTML(文档){
var k=0;
var s=0;
变量计数=$(文档).find('select').each(函数(){
var str=$(this.attr('onchange');
if(str.indexOf(“Add_Search_Param('f-')+this.value.split('|'))[1],”)=-1){
createCookie(“onchangecall”,$(this.attr('onchange'));
createCookie(“选项”,$(this.html());
//警报($(this.html());
k=1;
}
否则{
s=1;
}
}).长度;
如果(s==1&&k==0){
$(函数(){
var atr='onchange=“”+readCookie(“onchangecall”)+”;Refine();}“;
$(“#内容”)。追加(“”+readCookie(“选项”)+“”);
$(“sel”).attr(“onchange”,atr);
警报($(“#sel”).attr(“onchange”);
});
}
}
$.ajax({
键入:“获取”,
url:“”,
数据类型:“html”,
成功:解析HTML
});
函数createCookie(名称、值){
var=”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
删除内联onchange并使用JQuery事件处理程序:

<select id="theSelect">
    <option value="">Find by LENGTH</option>
    <option value="185|14 inch">14 inch (31)</option>
    <option value="186|11 inch">11 inch (39)</option>
    <option value="187|8 inch">8 inch (38)</option>
</select>
仅供参考,
.on()
需要jQuery 1.7.x,如果运行的是较旧的版本,您将希望使用
.delegate()
。另外
if($(this.val()){
if(this.value()!=“”){
可能是等效的!
$(function() {
    $("body").on("change", "#theSelect", function() {
        if (this.value != '') {
            alert("now");
            Add_Search_Param('f-' + this.value.split('|')[1], this.value.split('|')[0]);
            Refine();
        }
    });
});