我有三个下拉菜单:
<?php
if(isset($som)) {
=======first drop down=======
echo "<select id="."som-patch1"." class="."form-control".">";
echo "<option value="."select".">Please Select SOM patch...</option>";
for ($i=0; $i < count($som) ; $i++) {
echo '<option value="'.$som[$i]['som'].'">'.$som[$i]['som'].' </option>';
}
echo "</select>";
=======second drop down=======
echo "<select id="."som-patch1-month"." class="."form-control".">";
echo "<option value="."select".">Please Select Month ...</option>";
for ($i=0; $i < 12 ; $i++) {
$month = date('F', strtotime('-'.$i.' month', strtotime(date('Y-m-01'))));
echo '<option value="'.$month.'">'.$month.'</option>';
}
echo "</select>";
=======third drop down=======
echo "<select id="."som-patch1-year"." class="."form-control".">";
echo "<option value="."select".">Please Select Year ...</option>";
for ($i=0; $i < 12 ; $i++) {
$year = date('Y', strtotime('-'.$i.' year', strtotime(date('Y-m-01'))));
echo '<option value="'.$year.'">'.$year.'</option>';
}
echo "</select>";
}
?>
我可以成功将所选值发送到以下 JavaScript 函数
:
$('[id^=som-patch1]').on('change', function() {
alert( this.value );
});
我遇到的问题是:
我无法在变量中设置相关值,以便调用 add_som_donut_chart_org_data()
方法。
另外,我需要确保在函数调用之前已选择所有三个值。
我尝试过以下方法:
$('[id^=som-patch1]').on('change', function() {
var som = null;
var month = null;
var year = null;
if (id=='som-patch1'){
som = this.value;
}
alert( som );
});
但这并没有设置 som 值。 期望的结果应该是:
if (som !== null && month !== null && year !== null) {add_som_donut_chart_org_data(som,month,year)}
提前致谢。
更新:以下代码解决了该问题
$('[id^=som-patch1]').on('change', function() {
var id = $(this).attr("id");
if (id == 'som-patch1') {
som = this.value;
}
if (id == 'som-patch1-month') {
month = this.value;
}
if (id == 'som-patch1-year') {
year = this.value;
}
if (som !== null && month !== null && year !== null) {
add_som_donut_chart_org_data(som,month,year);
}
});
最佳答案
根据您当前的代码条件, if (id=='som-patch1') 永远不会为 true,因为 id 尚未定义。因此它不会设置 som 变量。原因很基本,您没有在代码中定义 id 变量。在您的条件之前使用以下代码:
var id = $(this).attr("id");
关于javascript - 将下拉菜单中的 3 个选定值发送并设置到 JavaScript 函数 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31941579/