2016-12-27 71 views
0

我试图通过使用chrome控制台在存储选择框上使用.change来更改价格结果,但会发生什么情况是价格不会更新。jquery选择框的选择值不会改变结果

我试过不同的其他方式,如.click.trigger,仍然选择框之间来回切换16GB到64GB,但价格不会更新。只有当我用鼠标手动更改选择框的值时,价格才会更新。

什么可能导致它不能切换?有没有其他的方法来通过代码触发事件?

***编辑:这不是我的代码,我只是想了解如何获得数据,如果.click不通过控制台工作

enter image description here

+1

哪里是你的代码? – Dekel

+0

对不起,我应该精确它不是我的代码,但即时通讯寻找如何模仿点击这个代码 – m3kkis

回答

0

click()方法不除非您明确要触发该事件。

我已经添加了一个click()事件监听器,并在此处调用上次更改。

var select = $("#test_select"); 
 

 
select.on('click', function() { 
 
    alert('click event'); 
 
}); 
 

 
setTimeout(function() { 
 
    select.val("2"); 
 
}, 1000); 
 
setTimeout(function() { 
 
    select.val("3"); 
 
}, 2000); 
 
setTimeout(function() { 
 
    select.val("4"); 
 
}, 3000); 
 
setTimeout(function() { 
 
    select.val("5").click(); 
 
}, 4000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="test" id="test_select"> 
 
    <option value="1" selected>1</option> 
 
    <option value="2">2</option> 
 
    <option value="3">3</option> 
 
    <option value="4">4</option> 
 
    <option value="5">5</option> 
 
</select>

+0

是的,这是事情,我希望事件发生,但它只会改变,当我手动点击它 – m3kkis

+0

嗯......它按照预期在此更新的示例中工作。你如何建立你的选择?例如这是吗? ''option value =“16gb”> 16gb'因为'val()'方法是在数值部分搜索,而不是文本部分:'' – abigperson