2016-11-03 8 views
0

こんにちは私は配列にチェックボックスの結果を追加して、提出時にデータベースに追加しようとしています。Jqueryを使用してチェックボックスvaueをフィールドに追加する

別のユーザーが親切に私の元のコードを変更するが、私は私のアレイへの私のチェックボックスの結果を追加する方法を動作することはできません。

これは画面に正しく表示されるようになりましたが、フィールドにコピーしてデータベースに保存することができないため、ページを再び開いたときにデータベースからロードされ、表示されます私の時間に残業が記録されています。

は私がの価値を保存したい= Yチェックし、配列に= Nをチェックしていないときに私は、私は隠しフィールドに値をコピーする必要があるかもしれないと思うが、私はそれを動作させることはできません。

<!-- this next section is to dynamically add the parts fields to the  jobsheet page so more parts can be added on the page without it starting out too large. --> 
<!-- this ext section is the Adding Hours on the jobsheet --> 
var rownumhours = 0; 

function addhours(obj, e) { 
    rownumhours++; 
    var hoursrow = '<p id="rownumhours' + rownumhours + '">Start Time: <input type="time" name="add_start[' + rownumhours + ']" size="4" value="' + 
    $(obj).closest('span.headings').find('[name="add_start"]').val() + '"> Finish Time: <input type="time" name="add_finish[' + rownumhours + ']" value="' + 
    $(obj).closest('span.headings').find('[name="add_finish"]').val() + '"> Date: <input type="date" name="add_date[' + rownumhours + ']" value="' + 
    $(obj).closest('span.headings').find('[name="add_date"]').val() + '"> Overtime: <input type="checkbox" name="add_overtime_hours[' + rownumhours + ']" size="1" value="' + 
    $(obj).closest('span.headings').find('[name="add_overtime_hours"]').val() + '"' + Overtime: <input type="checkbox" name="add_overtime_hours[' + rownumhours + ']" size="1" value="' + 
    (($(obj).closest('span.headings').find('[name="add_overtime_hours"]').is(':checked')) ? 'checked' : '1') + 
    $(obj).closest('span.headings').find('[name="add_overtime_hours"]').val() + '"> <input type="button" value="Remove" onclick="removeRow(' + 
    rownumhours + ');"></p>'; 
    jQuery('#hoursrow').append(hoursrow); 
} 
function removeRow(rnum) { 
    jQuery('#rownumhours' + rnum).remove(); 
} 

</script> 

答えて

0

こんにちは私は最終的に私の問題を解決しました。

私は、チェックボックスを表示し、1または0の値を含む同じ名前の隠しテキストボックスを持っているので、ジョブを分割して、これをMysqlデータベースに入れた値にします。

var rownumhours = 0;

function addhours(obj, e) { 
    var hoursrow = '<p id="rownumhours' + rownumhours + '">Start Time: <input type="time" name="add_start[]" size="4" value="' + 
    $(obj).closest('span.headings').find('[name="add_start"]').val() + '"> Finish Time: <input type="time" name="add_finish[]" value="' + 
    $(obj).closest('span.headings').find('[name="add_finish"]').val() + '"> Date: <input type="date" name="add_date[]" value="' + 
    $(obj).closest('span.headings').find('[name="add_date"]').val() + '"> <input type="hidden" name="show_overtime_hours[]" size="1" value="' + 
    (($(obj).closest('span.headings').find('[name="add_overtime_hours"]').is(':checked')) ? '1' : '0') + '"> Overtime: <input type="checkbox" name="add_overtime_hours[]" size="1" value="'      +      
    $(obj).closest('span.headings').find('[name="add_overtime_hours"]').val() + '"' + 
     (($(obj).closest('span.headings').find('[name="add_overtime_hours"]').is(':checked')) ? 'checked' : '') + 
    ' "> <input type="button" value="Remove" onclick="removeRow(' + 
    rownumhours + ');"></p>'; 
    jQuery('#hoursrow').append(hoursrow); 
    rownumhours++; 

    $(obj).closest('span.headings').find('[name="add_start"]').val(""); 
    $(obj).closest('span.headings').find('[name="add_finish"]').val(""); 
    $(obj).closest('span.headings').find('[name="add_date"]').val(""); 
    $(obj).closest('span.headings').find('[name="show_overtime_hours"]').val(""); 
    $(obj).closest('span.headings').find('[name="add_overtime_hours"]').removeAttr('checked'); 
    } 
function removeRow(rnum) { 
    jQuery('#rownumhours' + rnum).remove(); 
    } 

</script> 
関連する問題