【问题标题】:How to set value in the other text field when dropdown list selected?选择下拉列表时如何在其他文本字段中设置值?
【发布时间】:2018-08-27 13:46:10
【问题描述】:

i got some problem, when dropdown is selected i wanna set value in the other field.

我试过这个 html :

<select id="nik" name="nik" class="select-select2" style="width: 100%;" onchange="setData('<?php echo $data['nama_jabatan']; ?>','<?php echo $data['nilai_tunjangan_p']; ?>','<?php echo $data['nilai_tunjangan_j']; ?>')">

还有这个js:

 function setData(nama_jabatan,nilai_tunjangan_p,nilai_tunjangan_j)
 {
    $('#nama_jabatan').val(nama_jabatan);
    $('#nilai_tunjangan_p').val(nilai_tunjangan_p);
    $('#nilai_tunjangan_j').val(nilai_tunjangan_j);
}

但是文本框 val 没有更新。

【问题讨论】:

  • 你能显示相关的渲染源代码吗?如果不看/不知道您的 php 输出什么,就很难为您提供帮助。
  • 请添加更多数据

标签: javascript php html ajax codeigniter


【解决方案1】:

实现此目的的一种方法是将信息添加到&lt;option&gt; 而不是&lt;select&gt; 标记上。你可以使用 jQuery data-

喜欢:

<option value="volvo" data-nama_jabatan="nama_jabatan 1" data-nilai_tunjangan_p="nilai_tunjangan_p 1" data-nilai_tunjangan_j="nilai_tunjangan_j 1">Volvo</option>

这是一个sn-p"

$(function(){

    //Add event listener to element with id nik
    $("#nik").change(function(){

         //Get the selected option
         var opt = $(this).find("option:selected")

         //Get the data information from the selected option
         var nama_jabatan = $(opt).data("nama_jabatan");
         var nilai_tunjangan_p = $(opt).data("nilai_tunjangan_p");
         var nilai_tunjangan_j = $(opt).data("nilai_tunjangan_j");
		
         //Update the textboxes
         $('#nama_jabatan').val( nama_jabatan );
         $('#nilai_tunjangan_p').val( nilai_tunjangan_p );
         $('#nilai_tunjangan_j').val( nilai_tunjangan_j );
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="nik" name="nik" class="select-select2" style="width: 100%;">
    <option value="volvo" data-nama_jabatan="" data-nilai_tunjangan_p="" data-nilai_tunjangan_j=""></option>
    <option value="volvo" data-nama_jabatan="nama_jabatan 1" data-nilai_tunjangan_p="nilai_tunjangan_p 1" data-nilai_tunjangan_j="nilai_tunjangan_j 1">Volvo</option>
    <option value="saab" data-nama_jabatan="nama_jabatan 2" data-nilai_tunjangan_p="nilai_tunjangan_p 2" data-nilai_tunjangan_j="nilai_tunjangan_j 2">Saab</option>
    <option value="mercedes" data-nama_jabatan="nama_jabatan 3" data-nilai_tunjangan_p="nilai_tunjangan_p 3" data-nilai_tunjangan_j="nilai_tunjangan_j 3">Mercedes</option>
    <option value="audi" data-nama_jabatan="nama_jabatan 4" data-nilai_tunjangan_p="nilai_tunjangan_p 4" data-nilai_tunjangan_j="nilai_tunjangan_j 4">Audi</option>
</select>

<br />
<br /><input type="text" id="nama_jabatan">
<br /><input type="text" id="nilai_tunjangan_p">
<br /><input type="text" id="nilai_tunjangan_j">

【讨论】:

  • 不错的解决方案。这是您的答案的补充。 JsFiddle Demo
  • 抱歉,我忘记在 我使用这个: ".$value['nik'] , ' - ', $value['nama_peg_akte']." "; } ?>
  • @rizalfauza,它现在是否正常工作,或者您仍有一些问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多