返回ajax调用PHP中的select下拉列表


Return select dropdown in ajax call PHP

我想使用PHP代码在ajax调用中获取下拉列表。

$outputRes = '';
$reminderDetails["interval_type"] = value of dropdown this may varies. I want to keep value selected="selected"

以下是我对ajax调用的预期输出

$outputRes .= '<select id="reminder_int_type" name="reminder_int_type" class="change">
                 <option value="1" '.if($reminderDetails["interval_type"] == 1){ ''selected="selected"''; }.'>days</option>
                 <option value="2">Hours</option>
                 <option value="3">Minutes</option>
              </select>';
echo $outputRes; exit;

我可能会使用下面这样的代码,但我有很多选项标签,所以对我来说看起来不可行

$outputRes .= '<select id="reminder_int_type" name="reminder_int_type" class="change">
                 <option value="1" ';
if($reminderDetails["interval_type"] == 1){ $outputRes .= 'selected="selected"';}
$outputRes .= '>days</option>
                 <option value="2">Hours</option>
                 <option value="3">Minutes</option>
              </select>';
echo $outputRes; exit;

我在写正确的语法方面有问题。

根据您的代码,您可以这样做:

$outputRes = '';
$reminderDetails["interval_type"] = value of dropdown this may varies. I want to keep value selected="selected"
$interval = array("Days", "Hours", "Minutes");
$outputRes .= '<select id="reminder_int_type" name="reminder_int_type" class="change">';
foreach ($interval as $k => $v) {
    $k = $k + 1; // to keep your values beginning at 1.
    $outputRes .= '<option value="'.$k.'"'
    if ($reminderDetails["interval_type"] == $k) {
        $outputRes .= 'selected="selected"';
    }
    $outputRes .= '>';
    $outputRes .= $v
    $outputRes .= '</option>';
}
$outputRes .= '</select>';

您可能希望返回JSON,并在浏览器端对其进行解析。请参阅json_encode

$reminderDetails["interval_type"] = 'value of dropdown this may varies. I want to keep value selected="selected"';
$result = array('array from which you want to create a dropdown');
$outputRes = '<select id="reminder_int_type" name="reminder_int_type" class="change">';
foreach($result as $optionValue=>$optionName)
{
   $is_selected = ($reminderDetails["interval_type"] == $optionValue)?'selected':'';
   $outputRes   .= "<option value=$optionValue $is_selected>$optionName</option>"
}
$outputRes . ="</select>";
echo $outputRes; exit;

我希望你有个主意。。我假设您正在从数组中动态创建下拉列表