Jquery更改选择的选项麻烦

时间:2014-11-19 01:16:29

标签: javascript jquery html ajax

我在HTML中使用<select options>标签时遇到了麻烦。

我正在尝试使用jQuery和Javascript更改select下拉列表的值,以便我可以使用下拉列表的选定值在AJAX调用中执行某些操作。但是,在更改它然后我想恢复到我在更改它之前选择的旧值时,会出现问题...我仍然可以从下拉选项中选择/选择值,但显示的值<select option>按钮/表单框是我放在那里的最后一个值。

我有办法解决这个问题吗?这是我的代码如下。

//retrieving value of the selected option
var selBlock = $("#block_name option:selected").text();

//changing the value of the selected option from the dropdown to the very first option
$("#block_name").change(function() {
    $("#block_name option:first").attr('selected','selected');  
}).change();

//changing back the value of the selected option on the dropdown by reverting to the old value saved in selBlock

$("#block_name").change(function(){
    $("#block_name").find('option:selected').removeAttr("selected");
    document.getElementById('block_name').value = selBlock;
}).change();

这是我通过简单地更改下拉列表中选择的选项来实现实时效果的一种方式,因为更改它将调用AJAX调用并从数据库中检索新值。我选择不使用SSE或AJAX长轮询,因为我知道它会给我们的服务器带来压力。

1 个答案:

答案 0 :(得分:0)

如果我知道你正在做什么:

  • 而不是获取所选text的{​​{1}},而是转到option元素的value
  • 不是定义更改事件处理程序(2)而是更改值,然后select事件

以下是代码的外观:

trigger