我在html页面上设置了几天(星期一,星期二......)的复选框,我想将它们添加到我的数据库中。我需要将它们添加到DaysWorked,这是一个字符串数组。这是我到目前为止的代码
var newUser = {
'username': $('#addUser fieldset input#inputUserName').val(),
'password': $('#addUser fieldset input#inputUserPassword').val(),
'email': $('#addUser fieldset input#inputUserEmail').val(),
'fname': $('#addUser fieldset input#inputUserFname').val(),
'sname': $('#addUser fieldset input#inputUserSname').val(),
'JobType': $('#addUser fieldset select#inputUserJobType').val(),
'ShiftType': $('#addUser fieldset select#inputUserShiftType').val(),
'DaysWorked': $('#addUser fieldset input#inputUserMonday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserTuesday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserWendsday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserThursday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserFriday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserSaturday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserSunday' ).val(),
'HoursPerWeek': $('#addUser fieldset input#inputUserHoursPerWeek').val()
}
我知道我的所有其他代码都有效,但问题在于,我只是不知道如何将数据添加到对象newUser的数组中。
答案 0 :(得分:1)
我想,这对你有用:
var newUser = {
'username': $('#addUser fieldset input#inputUserName').val(),
'password': $('#addUser fieldset input#inputUserPassword').val(),
'email': $('#addUser fieldset input#inputUserEmail').val(),
'fname': $('#addUser fieldset input#inputUserFname').val(),
'sname': $('#addUser fieldset input#inputUserSname').val(),
'JobType': $('#addUser fieldset select#inputUserJobType').val(),
'ShiftType': $('#addUser fieldset select#inputUserShiftType').val(),
'DaysWorked': [
$('#addUser fieldset input#inputUserMonday').val(),
$('#addUser fieldset input#inputUserTuesday').val(),
$('#addUser fieldset input#inputUserWendsday').val(),
$('#addUser fieldset input#inputUserThursday').val(),
$('#addUser fieldset input#inputUserFriday').val(),
$('#addUser fieldset input#inputUserSaturday').val(),
$('#addUser fieldset input#inputUserSunday' ).val()
],
'HoursPerWeek': $('#addUser fieldset input#inputUserHoursPerWeek').val()
}
答案 1 :(得分:0)
选择器缓存解决方案:
var fieldset = $('#addUser fieldset');
var newUser =
{
'username': fieldset.find('input#inputUserName').val(),
'password': fieldset.find('input#inputUserPassword').val(),
'email': fieldset.find('input#inputUserEmail').val(),
'fname': fieldset.find('input#inputUserFname').val(),
'sname': fieldset.find('input#inputUserSname').val(),
'JobType': fieldset.find('select#inputUserJobType').val(),
'ShiftType': fieldset.find('fieldset select#inputUserShiftType').val(),
'DaysWorked':
[
fieldset.find('input#inputUserMonday').val(),
fieldset.find('input#inputUserTuesday').val(),
fieldset.find('input#inputUserWendsday').val(),
fieldset.find('input#inputUserThursday').val(),
fieldset.find('input#inputUserFriday').val(),
fieldset.find('input#inputUserSaturday').val(),
fieldset.find('input#inputUserSunday' ).val()
],
'HoursPerWeek': fieldset.find('input#inputUserHoursPerWeek').val()
};
假设您的输入具有唯一名称,input#
也是多余的,可以更改为输入ID,例如#inputUserName
,这对元素的查找速度要快得多。
这个过程会更好地转移到对象哈希中,因此它更多是OCP。然后你可以迭代对象哈希键并使用每个值作为策略来返回newUser哈希的值。
答案 2 :(得分:0)
为什么不使用这样的东西:`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> </title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<input type="text" class="input-set" id="x">
<input type="text" class="input-set" id="y">
<input type="text" class="input-set" id="z">
<input type="submit" class="go">
<script>
jQuery(document).ready(function($) {
$('.go').click(function() {
var allInputs = $('.input-set');
daysWorked = []
allInputs.each(function(index, el) {
daysWorked.push($(el).val());
});
console.log(daysWorked)
});
});
</script>
</body>
</html>
`
您将从输入中获取所有值并将其放入数组中。然后你可以把它作为一个档案发送。
var newUser = {
'username': $('#addUser fieldset input#inputUserName').val(),
'password': $('#addUser fieldset input#inputUserPassword').val(),
'email': $('#addUser fieldset input#inputUserEmail').val(),
'fname': $('#addUser fieldset input#inputUserFname').val(),
'sname': $('#addUser fieldset input#inputUserSname').val(),
'JobType': $('#addUser fieldset select#inputUserJobType').val(),
'ShiftType': $('#addUser fieldset select#inputUserShiftType').val(),
'DaysWorked': daysWorked,
'HoursPerWeek': $('#addUser fieldset input#inputUserHoursPerWeek').val()
}