我有以下javascript:
$(document).ready(function() {
$('#<%= DropDownList1.ClientID %>').change(function() {
$('#<%= TextBox1.ClientID %>').disabled = $('#<%= DropDownList1.ClientID %>').selectedIndex != 1;
});
});
当我更改下拉列表的索引时,没有任何反应。我试图用以下代码替换代码:
$(document).ready(function() {
$('#<%= DropDownList1.ClientID %>').change(function() {
alert($('#<%= DropDownList1.ClientID %>').id);
});
});
这会生成一个“未定义”的警报。如果我删除.id-part,我会收到一个警告,上面写着[object Object],所以我猜它有一些东西。我做错了什么?
答案 0 :(得分:4)
在jQuery中要实现的一个关键点是$(selector)返回的是jQuery对象,而不是DOM对象。如果要从jQuery对象获取选择框的值,可以使用val()函数,如下所示:
$("#element").val();
如果你想从jQuery对象访问dom元素,那也很容易。您可以使用以下内容:
$("#element")[0]; // equivalent to $("#element").get(0)
这应该可以帮助您解决问题。
答案 1 :(得分:1)
$(document).ready(function()
{
$('#<%= DropDownList1.ClientID %>').change(function()
{
// replace 'your value' with the value of dropdown selectedIndex 1
if ($('#<%= DropDownList1.ClientID %>').val() == 'your value')
$('#<%= TextBox1.ClientID %>').removeAttr('disabled');
else
$('#<%= TextBox1.ClientID %>').attr('disabled', 'disabled');
});
});