$(function() {
$(".form_new td select").change(function() {
alert($('#new_school').id)
});
});
我在我的应用中有上面的代码。但它一直警告“未定义”。我究竟做错了什么? #new_school是一个文本字段。我已经安装了jquery。在我的public / javascripts文件夹中,我有jquery.js,jquery.min.js和jquery.ujs.js。我正在使用Rails 3.0.9
答案 0 :(得分:12)
更改此内容:alert($('#new_school').id)
对此:alert($('#new_school').attr('id'))
答案 1 :(得分:3)
为什么会这样:
在$('#new_school').id
,
$('#new_school')
会返回Array
个元素,而id
中未定义Array
。
所以它会引发你undefined
。
你如何解决它:
$('#new_school')
[0]
.getAttribute('id')
或$('#new_school').attr('id')
.attr
只会找到数组中第一个元素的id
,请阅读here。)$('#new_school')
的 [0]
强> .id
<强> PS:强>
PS。:在你的剧本中:alert($('#new_school').id)
的↑强>
您找到的id
是那里,呃!
答案 2 :(得分:1)
试试这个:
alert( $('#new_school').attr('id') )
答案 3 :(得分:1)
$('#new_school')。attr('id')应该可以工作,但这没用,因为你必须事先知道id来选择元素。
通常你只做这样的事情
var currentId = $(this).attr('id');
获取调用事件的对象的ID