jQuery target this data-attribue
HTML
<div id="test-a" class="test">
<ul>
<li data-typea="1">Option 1a</li>
<li data-typea="2">Option 2a</li>
<li data-typea="3">Option 3a</li>
</ul>
</div>
<div id="test-b" class="test">
<ul>
<li data-typeb="1">Option 1b</li>
<li data-typeb="2">Option 2b</li>
<li data-typeb="3">Option 3b</li>
</ul>
</div>
<input name="typea" id="typea" type="number" value="0">
<input name="typeb" id="typeb" type="number" value="0">
JavaScript
$.fn.regData = function(reg) {
for (key in this.data()) {
if (key.match(reg)) return this.data(key);
}
}
$(document).on('click', '.test li', function (event) {
var id = $(this).closest('.test').attr('id') || '';
id = id.replace(/test-/, '');
var view_type = $(this).regData(/^type/)
console.log(id);
console.log(view_type);
$('#type' + id).val(view_type);
});