Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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 .change()选择“已更改”后进行页面刷新,如CTRL+;R_Javascript_Jquery - Fatal编程技术网

Javascript .change()选择“已更改”后进行页面刷新,如CTRL+;R

Javascript .change()选择“已更改”后进行页面刷新,如CTRL+;R,javascript,jquery,Javascript,Jquery,我如何设置javascript,一旦选择菜单选项被更改,然后直接模拟页面刷新,就像如果我选择一个选项,然后按CTRL+R,它将刷新页面,但保留选择,然后如果我再次执行相同的过程并刷新 但是我不希望用户这样做,我希望它使用.change()方法自动完成 好的老JavaScript(尽管我不确定您为什么要这么做): 不过,我不知道是否所有浏览器都会保留您的选择。对我来说,它可以在FF和Chrome中工作。很好的旧JavaScript(尽管我不知道你为什么要这么做): 不过,我不知道是否所有浏览器都会

我如何设置javascript,一旦选择菜单选项被更改,然后直接模拟页面刷新,就像如果我选择一个选项,然后按CTRL+R,它将刷新页面,但保留选择,然后如果我再次执行相同的过程并刷新

但是我不希望用户这样做,我希望它使用.change()方法自动完成

好的老JavaScript(尽管我不确定您为什么要这么做):

不过,我不知道是否所有浏览器都会保留您的选择。对我来说,它可以在FF和Chrome中工作。

很好的旧JavaScript(尽管我不知道你为什么要这么做):


不过,我不知道是否所有浏览器都会保留您的选择。对我来说,它在FF和Chrome中工作。

因为您是通过编程触发事件的,所以您必须区分用户更改和您自己的更改。在事件回调中检测originalEvent就足够了

$("#select-options").change(function(e) {
    selectedValue = $(this).val();
    var p = selectedValue.indexOf("£");
    rest = selectedValue.substring(p+1);
    $(".item").attr("data-price",rest);

    if(e.originalEvent) {
        window.location.reload();
    }
}).change();

由于您是以编程方式触发事件,因此必须区分用户更改和您自己的更改。在事件回调中检测originalEvent就足够了

$("#select-options").change(function(e) {
    selectedValue = $(this).val();
    var p = selectedValue.indexOf("£");
    rest = selectedValue.substring(p+1);
    $(".item").attr("data-price",rest);

    if(e.originalEvent) {
        window.location.reload();
    }
}).change();

是的,我试过了,但它总是让人耳目一新。。。。我只想在进行新选择后刷新它。这可能是因为每次加载页面时都会触发更改事件(.change())。因此,我如何解决这个问题呢?只需删除触发实际事件的.change()部分。或者你需要它做任何事情吗?是的,因为它被传递给一个自定义的html属性。我尝试过,但它不断刷新。。。。我只想在进行新选择后刷新它。这可能是因为每次加载页面时都会触发更改事件(.change())。因此,我如何解决这个问题呢?只需删除触发实际事件的.change()部分。或者你需要它做什么?是的,因为它随后被传递到一个自定义html属性你的一个图例!甜心,工作起来很愉快!,谢谢你,伙计。正如你可能猜到的,我对所有的jQuery/Javascript都很了解,我可以阅读并理解它,只是还不能编写它!它在我的学习清单上!。。。。。别担心,我们都从某个地方开始。快乐编码!你是一个传奇!甜心,工作起来很愉快!,谢谢你,伙计。正如你可能猜到的,我对所有的jQuery/Javascript都很了解,我可以阅读并理解它,只是还不能编写它!它在我的学习清单上!。。。。。别担心,我们都从某个地方开始。快乐编码!
$("#select-options").change(function(e) {
    selectedValue = $(this).val();
    var p = selectedValue.indexOf("£");
    rest = selectedValue.substring(p+1);
    $(".item").attr("data-price",rest);

    if(e.originalEvent) {
        window.location.reload();
    }
}).change();