【发布时间】:2014-12-19 00:03:36
【问题描述】:
所以,我正在尝试编写一些 jQuery,从选定的复选框中提取值和自定义数据 (html5) 以创建链接列表。链接文本将来自值,而链接源将来自自定义数据。我已经为链接文本和 url 创建了数组,但是当我尝试为所选选项创建链接列表时,url 显示为只是一个字母。关于我做错了什么有什么想法吗?我在这里创建了一个 JSFiddle:http://jsfiddle.net/3wx6d5cy/
HTML:
<form method="post" id="resources">
<label><input type="checkbox" data-url="http://option1.com" value="Option 1" >Option 1</label>
<label><input type="checkbox" data-url="https://option2.com" value="Option 2" >Option 2</label>
<label><input type="checkbox" data-url="https://option3.com" value="Option 3" >Option 3</label>
<button type="button" id="showResults">Show Resources</button>
</form>
<ul id="results"></ul>
JS:
$("document").ready(function () {
$("#showResults").click(function () {
var linkValues = $('input:checkbox:checked').map(function () {
return this.value;
}).get();
var linkURL = $('input:checkbox:checked').data('url');
// Check if any checkboxes are selected
var ifChecked = $('#resources :checkbox:checked').length;
function switchCheck(n) {
if (n == 0) {
caseNum = 0;
} else {
caseNum = 1;
}
}
switchCheck(ifChecked);
switch (caseNum) {
// Alert if no checkboxes are selected
case (0):
alert("Please select an option.");
break;
// Store value and data attributes in an array
case (1):
$.each(linkValues, function (i, val) {
$("#results").append("<li><a href='" + linkURL[i] + "'>" + val + "</a> ");
});
break;
}
});
});
【问题讨论】: