【发布时间】:2015-02-18 01:29:13
【问题描述】:
我在表格和按钮中有一个下拉列表,应该显示数据库中是否有值。在我的下拉列表中,我发送到一个函数
onchange = "getInfoid(this)"
功能:
function getInfoid(myvalue) {
var typeid = $(myvalue).val();
$.ajax({
url: '/mycontroller/GetInfoUrl',
contentType: 'application/html; charset=utf-8',
type: 'Get',
data: {
id: typeid
},
dataType: 'html'
})
.success(function (result) {
var tr = $($(myvalue).parents("tr")[0]);
var button = tr.find("button#Details0");
$(button).attr("onclick", "viewOhaInfo('" + result + "')");
$(button).show();
})
.error(function (result) {
var tr = $($(myvalue).parents("tr")[0]);
tr.find("button#Details0").hide();
});
};
脚本不显示或隐藏按钮。测试它;我尝试了 Ajax 脚本来显示和隐藏一个 div,并尝试在没有 Ajax 的情况下使用相同的方法隐藏和显示表格中的按钮,两者都有效。我是否丢失了 myvalue 变量的值或其他原因。
编辑 问题在于我对成功和错误的理解,我将脚本更改为:
.success(function (data) {
if (data == null) {
var tr = $($(myvalue).parents("tr")[0]);
tr.find("button#Details0").hide();
} else {
var tr = $($(myvalue).parents("tr")[0]);
var button = tr.find("button#Details0");
$(button).attr("onclick", "viewOhaInfo('" + data + "')");
$(button).show();
}
这解决了它。谢谢大家的帮助。
【问题讨论】:
-
不知道你在问什么或你的问题是什么
-
好点,我编辑了这个问题。该脚本不显示或隐藏该按钮。谢谢
-
你可能需要查看控制台看看是否有任何错误
-
只能是页面中具有该 ID 的一个元素。根据定义,ID 必须是唯一的,所以这可能是您的问题。
$("#Details0").hide()应该在只有一个 ID 时工作。否则使用类而不是 ID -
我尝试了唯一 ID,但它不起作用。谢谢
标签: javascript jquery ajax asp.net-mvc