Таким образом, в основном, чтобы дать краткое описание, прежде чем изучать код, который я даю ниже. По сути, я пытаюсь сделать так, чтобы у меня была модальная страница на одной из php страниц, как показано ниже. Я пытаюсь показать модель из php функции "fetch_assignment_history", приведенной ниже. Есть кнопка, с помощью которой мы можем добавлять пользователей в назначение, и кнопка onclick event (onClick = "assign (this.dataset.id)") вызывает функцию, передающую идентификатор из функции php в функцию JS.
Поэтому, когда пользователь нажимает кнопку, функция JS показывает модальный режим, а также получает идентификатор назначения в функции. Этот идентификатор назначения (через JS) устанавливается для атрибута данных раскрывающегося списка множественного выбора в модале.
Теперь точка, в которой я застрял, setinterval постоянно выбирает назначенных пользователей. Это в основном собрать из mysql базы данных пользователей, которые были добавлены в назначение (идентификаторы с разделителями-запятыми).
Когда модальный открывается, я хочу, чтобы ранее назначенные пользователи были выбраны в множественном выборе (согласно данным в mysql) по умолчанию. Для этого я хочу получить идентификатор, переданный из события onclick
Моя HTML часть (модальная)
<div id="assignee" class="modal custom-modal fade" role="dialog">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title text-center">Assignment</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="col-md-12 col-sm-12 col-xs-12 form-group has-feedback">
<label style="color:#333D79FF; font-size:15px;">Add Users <span class="text-danger">*</span></label>
<div>
<select class="select2_multiple form-control" multiple="multiple" id="userslist" name="userslist[]" style="width: 100%;left: 10px;">
<option id="none" value="">Select Users</option>
<?php
My PHP CODE TO PULL OUT DATA FROM MYSQL DB
?>
<option value="<?php echo $id; ?>" data-useravatar="<?php echo $avatar; ?>" data-usertitle="<?php echo $firstname;echo " ";echo $lastname; ?>" data-role="<?php echo $role; ?>" data-assignment=""><?php echo $firstname;echo " ";echo $lastname; ?></option>
<?php } ?>
</select>
</div>
<div id="usersfetch"></div>
</div>
</div>
</div>
</div>
</div>
Моя PHP
1. Функция для получить историю назначений.
Нажатие кнопки внизу переходит на JS и показывает модальный режим. а также передать id
function fetch_assignment_history($connect)
{
$query = "
SELECT * FROM assignment
WHERE id = '".$_SESSION['id']."'
ORDER BY id ASC
";
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$output = '<ul class="list-unstyled">';
foreach($result as $row)
{
$user_name = '';
$dynamic_background = '';
$message = '';
$assignmentname = $row["assignmentname"];
$name = $row["name"];
$id = $row['id'];
$output .= '
<div class="x_panel" style=" font-size:14px;">
<span class="controlbuttons">
<button class="btn btn-round" data-id="'.$id.'" onClick="assign(this.dataset.id)"><i class="material-icons" title="Assign">person_add</i></button>
</span>
</div>
';
}
$output .= '</ul>';
return $output;
}
функция для назначенной истории пользователя
function fetch_assigned_user_history($connect)
{
some php queries
}
My JS
Я хочу, чтобы assignid из функции assign (assignid) вызывался из функции fetch_assigned_user_history ( ). Как мне совершить sh это ??????
setInterval(function(){
fetch_assigned_user_history();
}, 1000);
function assign(assignid)
{
var assignid = assignid;
$("#assignee").modal("show");
$('#userslist').data("assignment",assignid);
}
function fetch_assigned_user_history()
{
var action = "fetch_assigned_user_data";
var getid = ;// I need to get the ID from the previous function from onclick event function assign(assignid)
$.ajax({
url:"assignment.php",
method:"POST",
data:{action:action, assignmentid:getid},
success:function(data)
{
$('#usersfetch').html(data);
}
})
}
Надеюсь, у меня все в порядке с моим вопросом. Благодарим за совет, чтобы исправить. Подводя итог, основной вопрос c состоит в том, как вызвать переменную одной функции JS в другой (в этом примере идентификаторы), чтобы я мог получить список пользователей в этом назначении? Также как сделать выбор по умолчанию множественным выбором со значениями базы данных.