'class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' => function(){
return [
'onchange' => '
var keys = $("#grid").yiiGridView("getSelectedRows");
$(this).parent().parent().toggleClass("danger")
'
];
}
$("#delete-select").on("click", function(e){
e.preventDefault()
var keys = $("#grid").yiiGridView("getSelectedRows");
$.ajax({
url: "'. \yii\helpers\Url::toRoute('delete') .'",
type: "POST",
data: {id: keys},
success: function(){
alert("yes")
}
})
});
function sumInit($array, $sum){
static $new = [];
static $result = null;
if(array_sum($new) == $sum){
$result = $new;
}
else{
$max = max($array);
$key_max = array_keys($array, max($array))[0];
if((array_sum($new) + $max) <= $sum){
$new[] = $max;
}
else if((array_sum($new) + $max) > $sum){
unset($array[$key_max]);
}
sumInit($array, $sum);
}
if($result != null){
return $result;
}
}
$(function () {
$('form').find('.cargo-data').on('change', function(){
var $form = $(this).parents('form');
console.log($(this).parents('form').attr('id'));
var input = $form.find('input');
$form.on('keyup', function(){
$(this).find('.b-cargoSizes input').each(function(){
var input = $(this);
$form.yiiActiveForm('add', {
id: input.attr('id'),
name: input.attr('name'),
container: '.field-' + input.attr('id'),
input: '#' + input.attr('id'),
error: '.help-block',
validateOnType: true,
validate: function(attribute, value, messages, deferred, $form) {
console.log(attribute + ' - ' + value);
yii.validation.required(value, messages, {message: "Заполнить обязательно!"});
yii.validation.number(value, messages, {
pattern: /^\s*\d+[,|.]*\d*\s*$/,
message: "Должно быть числом!"
});
}
});
})
})
});
});
$(function () {
$('form').find('.cargo-data').on('change', function(){
var $form = $(this).parents('form');
console.log($(this).parents('form').attr('id'));
var input = $form.find('input');
$form.on('keyup', function(){
$(this).find('.b-cargoSizes input').each(function(){
var input = $(this);
$form.yiiActiveForm('add', {
id: input.attr('id'),
name: input.attr('name'),
container: '.field-' + input.attr('id'),
input: '#' + input.attr('id'),
error: '.help-block',
validateOnType: true,
validate: function(attribute, value, messages, deferred, $form) {
console.log(attribute + ' - ' + value);
yii.validation.required(value, messages, {message: "Заполнить обязательно!"});
yii.validation.number(value, messages, {
pattern: /^\s*\d+[,|.]*\d*\s*$/,
message: "Должно быть числом!"
});
}
});
})
})
});
});
if(mail($to, $subject, $message, $headers)){
$output = '<script>alert("Ваше сообщение получено, спасибо!");</script>';
}
else{
$output = '<script>alert("Ваше сообщение Не получено!");</script>';
}
$("#save").on('click', function() {
$('.popup_overlay').show();
$('#login').show();
})
$('#login-form').on('submit', function(event) {
alert('test')
})
Что бы сразу выполнить данную функцию.
То есть, мы создаем анонимную функцию и сразу ее запускаем. + здесь арифметическая операция.
Вместо + можно использовать "-", "!"
<?= $form->field($model, 'country_id')->dropDownList(ArrayHelper::map(Countries::getAllName(), 'id', 'name_ru'),
[
'prompt' => 'Выбрать страну...',
'onchange' => '
$.post(
"'.Url::toRoute('ajax/list').'",
{id : $(this).val()},
function(data){
$("select#regions").html(data).attr("disabled", false)
}
)
'
])
?>
<?= $form->field($model, 'region_id')->dropDownList(ArrayHelper::map(Regions::getAllName(), 'id', 'name_ru'),
[
'prompt' => 'Выбрать регион...',
'id' => 'regions',
'disabled' => $model->isNewRecord ? 'disabled' : false
])
?>
getAllName()
в модели может выглядеть так:public static function getAllName()
{
return self::findAll(['status' => self::STATUS_ACTIVE]);
}
public function actionList()
{
if(Yii::$app->request->isAjax)
{
$id = (int)Yii::$app->request->post('id');
$regions = Regions::find()
->where('status=:status',[':status' => Regions::STATUS_ACTIVE])
->andWhere('country_id=:id', [':id' => $id])
->orderBy('name_ru')
->all();
foreach($regions as $region){
$this->option .= '<option value="'.$region->id.'">'.$region->name_ru.'</option>';
}
}
return $this->option;
}
$('.form').find('select[name*=birth_region_id]').select2()
, Вы запускаете, скорей всего, не от kartik Select2, а совершенно другой. Посмотрите внимательно, возможно у Вас есть ещё один select2, который Вы и подключаете в скрипте.<?= $form->field($model->extra, 'birth_region_id')->widget(\kartik\select2\Select2::className(), []) ?>
public function actionCreate()
{
if($model->load(Yii::$app->request->post() && $model->save()){
// заполняете flash сообщение и делаете редирект
}
else{
return $this->render('create', ['model' => $model')
}
}
function Testing(url, form){
var file = '';
var formdata = new FormData(form[0]);
formdata.forEach(function(item, i, arr){
console.log(i + ': ' + item + " array: " + arr)
if(i == 'files'){
formdata.append(item.name, item)
}
})
$.ajax({
url: url,
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function(data){
console.log(data)
}
})
}
$('#form-data').on('submit', function(e){
e.preventDefault();
var files = $(this).find('input:file')
Testing('upload.php', $(this))
})
composer update