如何构建名为countryUrl()
的函数,从id
标记中获取参数<li>
:
<ul>
<li onclick="countryUrl(this.id)" id="20" value="Benin">
<a href="#">Benin</a>
</li>
</ul>
并将其连接到/frame/theme/
在ajax电话中:
$.ajax({
type:"GET",
url :"/frame/theme1/"+myUrl,
dataType: 'json',
success: function(data) { ...
会是这样的:
function countryUrl(id){
return "/frame/theme/"+this.id;
}
然后如何将其传递到url:
字段?
答案 0 :(得分:0)
你可以用数据(“id”)代替id。 然后你将使用counrtyUrl(this.data('id')。 在$ .ajax调用中使用函数中的参数。
答案 1 :(得分:0)
首先,不要使用内联HTML事件属性,例如onclick
。有一个variety of reasons why。相反,将JavaScript与HTML分开并遵循现代标准,如下所示。
接下来,虽然将id
作为一个数字是合法的,但这不是一个好主意(特别是对于向后兼容性)。
此外,li
元素没有value
属性。请使用 data-*
属性将自定义值存储在HTML元素中。
最后,您不需要列表中的超链接来使列表项可以点击。
您需要做的就是设置li
元素以进行click
事件回调,并且该回调从已点击的li
中提取数据并将其用作您需要。
// Get reference to the bullet:
var li = document.getElementById("lstBenin");
// Set up bullet to be clickable:
li.addEventListener("click", countryURL);
// function that is called when bullet is clicked
function countryURL(){
// Create new URL based on the "data-value2" attribute
// of the element that was clicked:
var newURL = "/frame/theme1/" + this.dataset.value2;
console.log(newURL); // Test
// Make AJAX call using new URL
$.ajax({
type:"GET",
url :newURL,
dataType: 'json',
success: function(data) {
}
});
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li id="lstBenin" data-value1="Benin" data-value2="20">Benin</li>
</ul>
&#13;