테스트 사이트 - 개발 중인 베타 버전입니다

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

세진컴퓨터랜드 2년 전 조회 2,460

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

jquery로 어떻게 해야 하나요?

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

});

를 사용하면 되나요?

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

</p>

<p><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></p>

<p>

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

답변 4개

채택된 답변
+20 포인트
2년 전

</p>

<p><style>

.wrap {

    width: 100%;

    position: fixed;

    bottom: 1em;

    text-align: center;

}

</style></p>

<p><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></p>

<p><script src="<a href="http://code.jquery.com/jquery.min.js"></script>" target="_blank" rel="noopener noreferrer">http://code.jquery.com/jquery.min.js"></script></a>

<script>

function get_datalist_opt_attr(obj, attr, val) {

    var rtn = null;</p>

<p>    if ($(obj).length == 1) {

        $(obj).children().each(function (idx, opt) {

            if ($(opt).val() == val) {

                rtn = $(opt).attr(attr);

                return false;

            }

        });

    }</p>

<p>    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></p>

<p>

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

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

2년 전

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

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

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

핑크빈
2년 전

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

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

})

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

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

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

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

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

로그인