jQuery get 属性在点击时
jQuery get attribute on click
我有以下样式的列表项。
<li onclick="set_item('BRISBANE')" data-lat="-27.46758" data-lng="153.027892">
BRISBANE QLD 4000
</li>
单击该项目时,它会获取信息,但是我如何在其他2个文本框中获取其他2个项目?
.HTML
<input type="text" id="country_id" onkeyup="autocomplet()">
<input type="text" id="latitude">
<input type="text" id="longitude">
JavaScript
function set_item(item) {
$('#country_id').val(item);
$('#country_list_id').hide();
var $this = $(this),
lng = $this.data('lng'),
lat = $this.data('lat');
$('#latitude').val(lat);
$('#longitude').val(lng);
alert($this.data('lng'));
}
我尝试使用上面的JS来使用$this.data('lng')
但不确定为什么它不起作用。
您需要将this
作为参数传递给函数:
function set_item(item, li) {
$('#country_id').val(item);
$('#country_list_id').hide();
var $this = $(li),
lng = $this.data('lng'),
lat = $this.data('lat');
$('#latitude').val(lat);
$('#longitude').val(lng);
alert($this.data('lng'));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li onclick="set_item('BRISBANE', this)" data-lat="-27.46758" data-lng="153.027892">BRISBANE QLD 4000</li>
</ul>
<input type="text" id="country_id">
<input type="text" id="latitude">
<input type="text" id="longitude">
此外,您实际上不需要将字符串BRISBANE
作为参数传递。 set_item
可以使用$this.text()
来获取LI
的文本。
最好将单击事件绑定到列表元素,然后您可以轻松识别单击的li
。在您的情况下,$(this)
是$(window)
对象。
.HTML:
<ul id="list">
<li data-item="BRISBANE" data-lat="-27.46758" data-lng="153.027892">BRISBANE QLD 4000</li>
</ul>
<input type="text" id="country_id">
<input type="text" id="latitude">
<input type="text" id="longitude">
JavaScript:
$("#list li").click(function(e){
// $(this) is your li element
$('#country_id').val($(this).data("item"));
$('#country_list_id').hide();
var lng = $(this).data('lng'),
lat = $(this).data('lat');
$('#latitude').val(lat);
$('#longitude').val(lng);
alert($(this).data('lng'));
});
演示:http://jsfiddle.net/
相关文章:
- 在不使用lodash-get的情况下从json中提取深层属性
- JS get元素之间的差异's属性与elem.getAttribute(attr)和elem[attr]
- Angularjs类型错误:无法读取属性'GET()'的未定义
- 如何使用get()获取嵌套的Scope属性
- 尝试更改HTML属性时出现奇怪的get请求
- 角度类型错误:无法读取未定义的属性“get”
- 类型错误:无法读取 AngularJS 上未定义的属性“get”
- 如何将 GET 参数分配给 HTML 输入文本的值属性
- jQuery get 属性在点击时
- JS getters:定义属性替换或补充旧的内联“get”“set”语法
- AngularJS 错误:无法读取未定义的属性“get”
- Angularjs.在 http.get 之后显示对象属性
- jQuery get 每个元素的属性
- 如何使用 get/set 获取属性以使用 JSON.stringify() 序列化
- 具有对象类型的参数,其属性名称/值各不相同.需要在GET请求中通过URL发送道具名称/值
- jQuery - get属性返回undefined
- 主干get属性返回未定义
- Adobe Livecycle javascript get属性节点
- 对象get属性中的Javascript对象
- 如何从html文件中的li标签调用get属性