我有下面的 jquery 代码,它返回一个 ID 列表,如 1|2|3|4|5|6|7|8|9 等,对于页面上的每个列表项,我也有名为 topfriendNumber 的下拉选择框。我需要从 topfriendNumber 下拉框中获取值,并确保我的 ID 列表不超过该值。
因此,如果下拉列表选择为 4,那么它应该只允许 4 个数字 1|2|3|4
根据下面的代码,您能帮忙吗?
这可能会添加到底部,它已经在使用下拉框中的数字
<select name="topfriendNumber" id="topfriendNumber">
<option value="3">3</option>
<option value="6" selected="selected">6</option>
<option value="9">9</option>
<option value="12">12</option>
</select>
<script>
function saveOrder() {
var serialStr = "";
$("#topfriends li").each(function (i, elm) {
serialStr += (i > 0 ? "|" : "") + $(elm).attr("friendID");
});
// alert(serialStr); //1|2|3|4|5|6|7|8|9
$('select[name=topfriendNumber]').change();
$.ajax({
url: "exampe.php/SaveListOrder",
data: '{"ids":"' + serialStr + '"}',
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8"
});
};
//changes the background colors depending on the amount selected from the dropdown list
$('select[name=topfriendNumber]').change(function () {
var val = $(this).val();
//reset style
$('ul#topfriends > li').css("background-color", "");
//apply to all LIs before value of select
$('ul#topfriends > li:lt(' + val + ')').css("background-color", "red");
}).change();
</script>
最佳答案
为什么不停止这一点,甚至不生成超出您需要的列表?
var needed = $('select[name=topfriendNumber]').val();
$("#topfriends li").each(function (i, elm) {
serialStr += (i > 0 ? "|" : "") + $(elm).attr("friendID");
if (i > needed) {
return false;
}
});
关于jquery - 将一串数字截断为特定长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1331644/