我要做的是使用 // Computes time difference of two time periods in 24h00 format
// Time periods are input
#include <iostream>
using namespace std;
int seconds,seconds2, minutes, minutes2, hours, hours2;
void CalcDiff(int seconds, int seconds2 int minutes, int minutes2, int
hours, int hours2);
int main()
{
int sec, sec2, min, min2, hr, hr2, diff;
cout << "Enter the first time." << endl;
cout << "Enter hours, minutes and seconds: ";
cin >> hr >> min >> sec;
cout << "Enter the second time." << endl;
cout << "Enter hours, minutes and seconds: ";
cin >> hr2 >> min2 >> sec2;
CalcDiff(int sec, int sec2, int min, int min2, int hr, int hr2,
diff);
cout << endl << "Difference in times: " << hr << ":" << min << ":"
<< sec;
cout << " - " << hr2 << ":" << min2 << ":" << sec2;
return 0;
}
void CalcDiff(int seconds, int seconds2, int minutes, int minutes2, int
hour, int hour2, diff)
而不是使用MeasurementID: $('#measurement').find(":selected").val()
从测量表单中获取所选值,但它似乎不起作用。我还尝试了php
和$('select[name=measurement]').val()
$('#measurement option:selected').val()
答案 0 :(得分:1)
这是我如何做到的:
HTML:
<select data-user="<?php echo json_encode($UserID); ?>" id="mySelect">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
JS:
<script>
$(document).ready(function()
{
$('.mySubmitBtn').on('click', function()
{
var selected = $('#mySelect').val(),
userId = $('#mySelect').data('user');
$.ajax({
data: {value: selected, user: userId},
url: 'myScript.php',
type: 'post',
success: function(res) {console.log(res)},
error: function(res) {console.log(res)}
})
})
});
</script>
这样做,将用户ID分配给select作为数据值。这意味着我们可以使用.data
来检索数据元素 - 语法为:.data('attribute')
- 这样就可以获得数据属性。
然后它在点击时获得选定的值,直接执行ajax的问题是它获取所选值,但是在文档加载时,而不是在任何更新上。这就是它显示旧价值的原因。
然后将它全部传递给脚本以执行任何操作。
注意:这个代码不像你那样,所以不要只是复制和粘贴;)
更适合OP的示例(js)
<script>
$(document).ready(function()
{
$('#mySelect').on('change', function()
{
var selected = $(this).find('option:selected').val(),
userId = $(this).data('user');
$.ajax({
data: {value: selected, user: userId},
url: 'myScript.php',
type: 'post',
success: function(res) {console.log(res)},
error: function(res) {console.log(res)}
})
})
});
</script>
答案 1 :(得分:0)
您可以尝试以下
你必须添加setTimeout。
<select id="user" name="user" onchange="fun_submit(this)" ></select>
fun_submit(obj){
setTimeout(function(){obj.form.submit();},500);
}
然后您可以使用以下方法获取所选选项的值。
var value = $('select#measurement option:selected').val();
答案 2 :(得分:0)
<select name="options" id="options">
<option value="one">Option 1</option>
<option value="two">Option 2</option>
</select>
用于获取所选选项值的Js代码。
$('#options').val();
答案 3 :(得分:0)
试试这个:
$('#measurement').val()
在最近的jquery版本中,select元素本身的.val()
就足够了。
演示:
function displayVals() {
var singleValues = $( "#single" ).val();
var multipleValues = $( "#multiple" ).val() || [];
// When using jQuery 3:
// var multipleValues = $( "#multiple" ).val();
$( "p" ).html( "<b>Single:</b> " + singleValues +
" <b>Multiple:</b> " + multipleValues.join( ", " ) );
}
$( "select" ).change( displayVals );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="single">
<option>Single</option>
<option>Single2</option>
</select>
<select id="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select>
<p></p>