JSFiddle - React, Tailwind, and code Playground

HTML

<label for="Title">Title</label>
<input id="Title" type="text" />
<div id="tags">
    <div class="tag">
        <input id="tag0" type="checkbox" name="SelectedTags" value="1" />
        <label for="tag0">First tag</label>
    </div>
    <div class="tag">
        <input id="tag1" type="checkbox" name="SelectedTags" value="2" />
        <label for="tag1">Second tag</label>
    </div>
</div>
<div id="addbuttoncontainer">
    <button type="button" id="addtag">Add new tag</button>
</div>


<div id="dialog">
    <form>
        <label for="Name">Name</label>
        <input type="text" id="Name" name="Name" />
        <button type="button" id="createtag">Create</button>
        <button type="button" id="canceltag">Cancel</button>   
    </form>
</div>

CSS

#dialog {
    //clear: both;
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.1);
}
#dialog form {
    width: 450px;
    position: fixed;
    left: 50%;
    top: 50%;
    margin: -100px 0 0 -225px;
    border: solid 1px #aaa;
    border-radius: 5px;
    background-color: white;
    padding: 10px;
}
#addbuttoncontainer {
    clear:both;
}
.tag {
    float:left;
    width:30%;
}

JavaScript

var dialog = $('#dialog');
var form = dialog.children('form');
var tags = $('#tags');
$('#addtag').click(function() {
    dialog.show();
});
$('#createtag').click(function() {
    var name = $('#Name').val();
    var id = tags.children('.tag').length;
    var div = $('<div></div>').addClass('tag');
    div.append($('<input/>').val(id).attr({ type: 'checkbox', name: 'selectedTags', id: id }).prop('checked', true));
    div.append($('<label></label>').attr('for', id).text(name));
    tags.append(div);           
    form.get(0).reset();
    dialog.hide();
});

$('#canceltag').click(function() {
    form.get(0).reset();
    dialog.hide();
});