在 HTML Select 标签上使用 Jquery 显示文本

Display Text Using Jquery on HTML Select Tag

我是编程新手。我有一个代码,其中我在 HTML select 标签上使用 Jquery。我有两个 Select 标签

<div style="margin-top:10px; width:280px; float:left">
<select name="s_name" id="s_name">

  <option value="shahzad">Muhammad Shahzad Saleem</option>
  <option value="hanif">Muhammad Jhangeer Hanif</option>
  <option value="rana">Rana Muhammad Nadeem</option>
  </select>

   <br> 

 <select name="s_designation">
   <option value="coo">Chief Operating Officer</option>
   <option value="uh">Unit Head</option>
 </select>
 </div>

在第一个 Select 标签上我使用 Jquery

<script>
    $(function() {
          $('#s_name').on('change',function(){
        if( $(this).val()=="rana"){
        $("#rana").show()
        }
        else{
        $("#rana").hide()
        }
        if( $(this).val()=="hanif"){
            $("#hanif").show()
        }
        else{
        $("#hanif").hide()
        }
    });});
        </script>

此 Jquery 适用于以下代码

<div id="rana" style="display:none; margin-left:350px; width:auto; float:left">

        <input type="text" name="uh1" value="Muhammad Jhangeer Hanif"/>
        </br>
        <input type="text" name="uh1_designation" value="Unit Head"/>
        </div>
<div id="hanif" style="display:none; margin-left:350px; width:auto; float:left">
            <input type="text" name="uh2" value="Rana Muhammad Nadeem"/> <br/>
            <input type="text" name="uh2_designation" value="Unit Head"/> 
  </div>

现在我想在我的第二个 select 标签上使用 jquery。我希望当用户更改 select 标签 s_name 中的值时,它会在第二个 select 标签 s_designation 中自动进行更改,例如默认我的 select 标签显示 s_nameshahzad saleem 并且反对它的指定 s_designation 是首席运营官。但我想当用户点击 s_name Hanifrana 然后根据其指定 s_designation 将自动更改 Unit Head.

我该怎么做?请告诉我,这也适用于我现有的 jquery

您必须检查第一个 Select 元素的值,然后您可以根据它的值更改第二个 select 元素,如下所示,

编辑

$(function() {
    $('#s_name').on('change',function(){
    if( $(this).val()=="rana"){
        $('#s_designation').val('coo');
    } else {
        $('#s_designation').val('uh');
    }
});

同时为您的第二个 select 添加一个 ID 作为 s_designation

@Sunny 是的,你可以在另一个函数中使用 $('#s_name')

看看这个:

$(function () {
    var hanif = $("#hanif");
    var rana = $("#rana");
    var value = null;
    var sName = $('#s_name');
    var sDesignation = $('select[name="s_designation"]');
    sName.on('change', function () {
        value = $(this).val();
        hanif.toggle(value === 'hanif');
        rana.toggle(value === 'rana');
        sDesignation.val(value === 'hanif' || value === 'rana' ? 'uh' : 'coo');
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div style="margin-top:10px; width:280px; float:left">
    <select name="s_name" id="s_name">
        <option value="shahzad">Muhammad Shahzad Saleem</option>
        <option value="hanif">Muhammad Jhangeer Hanif</option>
        <option value="rana">Rana Muhammad Nadeem</option>
    </select>
    <br />
    <select name="s_designation">
        <option value="coo">Chief Operating Officer</option>
        <option value="uh">Unit Head</option>
    </select>
</div>
<div id="rana" style="display:none; margin-left:350px; width:auto; float:left">
    <input type="text" name="uh1" value="Muhammad Jhangeer Hanif" />
    <br />
    <input type="text" name="uh1_designation" value="Unit Head" />
</div>
<div id="hanif" style="display:none; margin-left:350px; width:auto; float:left">
    <input type="text" name="uh2" value="Rana Muhammad Nadeem" />
    <br />
    <input type="text" name="uh2_designation" value="Unit Head" />
</div>

希望这对您有所帮助。这是您期待的结果吗?