Javascript 使用jquery从属性获取值和标签
从以下Javascript 使用jquery从属性获取值和标签,javascript,jquery,jsp,Javascript,Jquery,Jsp,从以下a中,我需要使用jQuery从数据自动完成属性中获取值(我们有标签和值,但我只需要收集值),请提供帮助 <a href="nullAUS%7C6214051%7C0HOAUSAQjdBwAAAAAIAwEAAAAA2igAgAAAAAAAAABkAAAAAP....8AAAAAAAAAAABub3J0AA--" data-transition="fade" data-autocomplete="{"label":"North Ch
a
中,我需要使用jQuery从数据自动完成
属性中获取值(我们有标签和值,但我只需要收集值),请提供帮助
<a href="nullAUS%7C6214051%7C0HOAUSAQjdBwAAAAAIAwEAAAAA2igAgAAAAAAAAABkAAAAAP....8AAAAAAAAAAABub3J0AA--" data-transition="fade" data-autocomplete="{"label":"North Chigwell Primary, 115 Allunga Road, CHIGWELL TAS 7011","value":"AUS|6214051|0HOAUSAQjdBwAAAAAIAwEAAAAA2igAgAAAAAAAAABkAAAAAP....8AAAAAAAAAAABub3J0AA--"}" class="ui-link-inherit">North Chigwell Primary, 115 Allunga Road, CHIGWELL TAS 7011</a>
试一试
演示:
使用
你试过什么代码?还有,在什么情况下你需要获取这些信息?请分享更多的代码以帮助你…嗯,
名字的重复声明
?对不起。。。粘贴时,我忘了完全恢复到卡住的位置。。现在我编辑。。。请帮助我..他正在使用$(a).attr(“数据自动完成”)代码>,将在此处返回相同的值。另外,我认为您需要在访问属性之前将字符串解析为对象。@Johan在这种情况下,它是一个字符串,OP需要使用JSON.parse()
解析它。您是说data()
在内部解析它吗?@Johan不应该这样,但至少在Chrome中,它现在似乎正在考虑这一点。。见附件fiddle@Johan这种行为似乎是一贯的。。但找不到任何文档。。。使用json2库签入最新的Chrome/FF和IE 9。。。。看见
callback: function (e) {
var a = $(e.currentTarget); // access the selected item
var address = $.trim(a.text());
// data-autocomplete
var moniker = $(a).attr("data-autocomplete");
$('#addressQas').val(address);
//$.ajax({
new FancyAjaxinator().jsonPost({
url: "/address/selectLine",
//dataType: "json",
data: {
"moniker": moniker,
"address": address
},
success: function (data) {
//console.log(data.responseObject);
var qasAddress = data.responseObject;
$('#address-line1').val(qasAddress.addressLine1);
if (qasAddress.state) {
$('#address-line2').val(qasAddress.addressLine2);
$('#address-townCity').val(qasAddress.suburb);
$('#address-state').val(qasAddress.state);
$('#address-state').parent().find('span.ui-selectmenu-text').text($("#address-state option[value=" + qasAddress.state + "]").text());
$('#address-postcode').val(qasAddress.postcode);
$('#address-line1').valid();
$('#address-townCity').valid();
$('#address-state').valid();
$('#address-postcode').valid();
}
$('#QASaddressField').hide();
$('.qasAddressFields').show();
//setFocus();
}
});
this.close;
return false;
}
var a = $('a');// or the jQuery wrapper for the target a
var json =a.data('autocomplete');
console.log(json.value)
var moniker = $(a).attr("data-autocomplete");
var json = JSON.parse(moniker);
console.log(json.value);