вопрос
Здравствуйте.
Пытаюсь в Быстрое редактирование новости (engine/ajax/editnews.php) добавить новое поле
далее есть код для обработки дынных из этого селекта
но в результате в переменной $region_list содержится только последнее выбранное значение...
Что я делаю не так?
Пытаюсь в Быстрое редактирование новости (engine/ajax/editnews.php) добавить новое поле
<select name="region[]" id="region" style="width:350px; margin-bottom:5px;" multiple><option value="0">Без филиала</option>{$region_list}</select>
далее есть код для обработки дынных из этого селекта
$region = isset( $_POST['region'] ) ? $_POST['region'] : array();
if( !count( $region ) ) {
$region = array();
$region[] = '0';
}
$region_list = array();
foreach ( $region as $value ) {
$region_list[] = intval($value);
}
$region_list = $db->safesql( implode( ',', $region_list ) );
но в результате в переменной $region_list содержится только последнее выбранное значение...
Что я делаю не так?
Попробуйте изменить функцию сохранения, ajax_save_for_edit
Изменив этот участок кода,
На такой,
Изменив этот участок кода,
$.each($('#ajaxnews'+news_id).serializeArray(), function(index,value) {
params[value.name] = value.value;
});
На такой,
let i = 0;
$.each($('#ajaxnews'+news_id).serializeArray(), function(index,value) {
if( value.name == 'region[]' ) {
Object.defineProperty(params, 'region['+i+']', {
value : value.value,
enumerable: true,
});
i++;
} else params[value.name] = value.value;
});