在选择控件上触发更改事件 - 之后无法确定值
triggering change event on select control - can't determine value afterwards
我有以下jquery代码:
$("#ruletypes").change(function() {
var selectedtype = this.value;
var url;
if (selectedtype == 1) {
url = url1;
} else {
url = url2;
}
$.getJSON(
url,
function(data) {
data = $.parseJSON(data); //converting to a javascript object vs. just string....
if (data !=null){
//remove everything in current list.
$('#contact_types')
.find('option')
.remove()
.end()
//loop through results and add each one
$.each(data, function(i) {
$('#contact_types')
.append($("<option></option>")
.attr("value",this.id)
.text(this.description));
}); //end .each
}//end if
}//end function(data)
);//end getJSON.
//set default values for contact type
if (selectedtype == 1) {
$('#contact_types').val(2).change();
} else {
$('#contact_types').val(1).change();
}
});//end ruletypes.change
$("#contact_types").change(function () {
var selectedtext = $("#contact_types option:selected").html();
alert("select value of contact type is" + selectedtext);
alert(this.value);
});
我的问题/问题是,一旦我以编程方式触发了contact_types选择框的更改事件,我似乎无法确定值是什么。我拥有的两个警报语句分别返回未定义和空。
我也尝试过 .text((。
你能告诉我我的错误在哪里吗? 我需要能够在contact_types中确定当前所选项目的值。
谢谢。
好吧,您应该使用 this.value
通过 onchange
事件获取当前选定的值。修复了明显的语法错误(未声明的变量、缺少)}
等(:
$("#ruletypes").change(function () {
var selectedtype = this.value;
if (selectedtype == 1) {
$('#contact_types').val(2).change();
} else {
$('#contact_types').val(1).change();
}
});
$("#contact_types").change(function () {
var selectedtext = $("#contact_types option:selected").html();
alert("select value of contact type is" + selectedtext);
alert(this.value);
});
演示:http://jsfiddle.net/fgQt3/
您可以使用以下内容:
$("#contact_types").bind('change', function(e) {
alert(e.target.options[e.target.selectedIndex].text);
});
或者简单地使用:alert($(this).val());
在该更改事件中。
相关文章:
- 在一个“事件”之后触发一个事件;喜欢“;
- 在on.change事件之后运行函数
- addEvent()传奇事件之后的当前最佳实践是什么
- Javascript:在每个onmouseover事件之后执行2个函数
- 可以使 jquery 点击事件在所有其他点击事件之后执行
- 在两个元素的 onrender 事件之后执行函数
- 如何在每次onlick事件之后调用diffect函数
- 是否可以在更改事件之后立即检测到 onclick 事件
- 将twitter引导程序popover设置为在某个事件之后隐藏,然后在另一个事件之后显示
- 在 jQuery / Javascript 中的 bind() 事件之后执行条件
- 在不相关的事件之后重新绑定 .toggle() 事件
- 如何在当前事件之后调用先前绑定的事件
- AngularJS uib日期选择器没有'在uib选项卡中,不要在第一次打开/关闭事件之后显示日历
- 在标记事件之后使用jquery
- 在回调和事件之后调用方法
- 指令中ngChange事件之后的控制器函数
- 在每个事件之后创建目录
- JQuery Mobile Slider在事件之后返回空值
- jQuery:如何将函数绑定到mouseup事件之后立即发生的某个事件
- $watch仅在特定事件之后才查看属性