所以,我正在尝试编写一些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;
}
});
});
switchCheck
和switch
本身...太多行而不是简单的if-else
。 - RegentswitchCheck
和switch
一样。 - Regent