Javascript can';t更新HTML文档中的同级
我有下面的HTMLJavascript can';t更新HTML文档中的同级,javascript,jquery,html,Javascript,Jquery,Html,我有下面的HTML <td> <select tabindex="1" id="global_location_id" name="global_location_id"> <option value="0">-- NONE --</option> <option value="15" style="font-weight: bold">canada</option> <op
<td>
<select tabindex="1" id="global_location_id" name="global_location_id">
<option value="0">-- NONE --</option>
<option value="15" style="font-weight: bold">canada</option>
<option value="16" style="font-weight: bold">usa</option>
</select>
<input tabindex="1" id="location_id" name="location_id" value="15" type="hidden">
</td>
--没有--
加拿大
美国
当下拉列表中的项目更改时,我想将值保存在隐藏字段中。。。这是下拉列表的兄弟。
我有以下jquery代码:
$("body").live("change", "#global_location_id", function(e){
console.log(e);
var list = e.target;
var selected_location_value = $(list).val();
console.log(selected_location_value);
//save this value in the sibling <input> box called name=location_id
$(this).siblings("#location_id").attr('value',selected_location_value);
});
$(“body”).live(“更改”,“全局位置id”),函数(e){
控制台日志(e);
var列表=e.target;
var selected_location_value=$(list.val();
console.log(选择的位置值);
//将此值保存在名为name=location\u id的同级框中
$(this).sides(“#location_id”).attr('value',selected_location_value);
});
我必须有一个语法错误的地方,因为这段代码不工作。具体来说,它是试图保存到名为location_id的隐藏输入字段的行,该字段未更新
我肯定我错过了一些简单的东西。谢谢。我发现了我的错误。
我不得不更换
$(this).siblings("#location_id").attr('value',selected_location_value)
与
如果jQuery版本高于1.8,
live()
已被弃用多年,并已从apiI中删除。我知道它很旧,但这是一个开源应用程序。。。必须让上游的人改变这样大的事情。我只是在为一个紧急的bug做调整。谢谢。你的意思是在你的第一部分(未更正的部分)中的$(这个)
,对吗?不需要兄弟姐妹()。。。ID在页面中是唯一的,只需将ID用作selector@dot这两行代码有什么区别?@VincentWilkie对不起,输入错误。@PaulRoub,是的。我的错。
$(list).siblings("#location_id").attr('value',selected_location_value)