2026, 새로운 도약을 시작합니다.

선택한 datalist 에 data() 값을 가져오고 싶습니다. 채택완료

2년 전 조회 2,680

선택한 요소의 data-num 값을 가져오고 싶습니다.

jquery로 어떻게 해야 하나요?

$('body')on('change', function(){

});

를 사용하면 되나요?

아니면 어던 방법이 있을까요?

Copy
<input type="text" list="depList">
<datalist id="depList">
    <option value="강백호" data-num="10"></option>
    <option value="서태웅" data-num="11">/option>
    <option value="정대만" data-num="14"></option
</datalist>

답변 4개

채택된 답변
+20 포인트

thumb-2009389905_1674726031.5793_730x337.png

Copy
<style>
.wrap {
    width: 100%;
    position: fixed;
    bottom: 1em;
    text-align: center;
}
</style>

<div class="wrap">
    <input type="text" list="depList" id="depSelect">
    <datalist id="depList">
        <option value="강백호" data-num="10"></option>
        <option value="서태웅" data-num="11"></option>
        <option value="정대만" data-num="14"></option>
    </datalist>
</div>

<script src="http://code.jquery.com/jquery.min.js"></script>
<script>
function get_datalist_opt_attr(obj, attr, val) {
    var rtn = null;

    if ($(obj).length == 1) {
        $(obj).children().each(function (idx, opt) {
            if ($(opt).val() == val) {
                rtn = $(opt).attr(attr);
                return false;
            }
        });
    }

    return rtn;
}
$('#depSelect').bind('input', function(evt) {
    var el = evt.target;
    var dlist = $('#' + $(el).attr('list'));
    var attr = get_datalist_opt_attr(dlist, 'data-num', el.value);
    console.log(el.value + ' : ' + attr);
});
</script>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

  <input type="text" list="depList" onchange="alert(this.value)">

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$('#depList').change(function(){

console.log($(this).attr('data-num')) // 선택한값

})

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$("#depList option").find(':selected').data('data-value'); 로 해보세요.
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고