Значение значения эхо-сигнала Onchange - PullRequest
0 голосов
/ 04 мая 2020

У меня проблема с тем, чтобы создать поле выбора и получить значение для отображения в другом поле ввода.

Ниже приведен код, который я пробовал:

<div class="form-group">
                    <label for="cp1" class="control-label col-lg-4">Move to Sub Folder/New Category<span style="color:red;">&nbsp;*</span></label>
                    <div class="col-lg-3">

                        <select class="form-control blank" id="parentid" name="parentid" title="parentid">
                        <option>Please Select</option>
                        <option value="0">New Category</option>
                        <?php
                        $sql_incharge = 'select * from filing_code_management where status=1 order by id';
                        $arr_incharge = db_conn_select($sql_incharge);
                        foreach ($arr_incharge as $rs_incharge) {
                            $folder_location = $rs_incharge['folder_location'];
                            $function_code_select = $rs_incharge['function_code'];
                            echo '<option value="' . $rs_incharge['category_id'] . '">' . $rs_incharge['name'] . '</option>';

                        }
                        ?>
                        </select> &nbsp;&nbsp;
                                        <!--<input type="text" class="form-control blank" id="parentid" name="parentid" title="parentid" onblur="capitalize(this.id, this.value);">-->
                    </div>
                    </div>
                   <div class="form-group">
                        <label for="cp1" class="control-label col-lg-4">Function Code:</label>
                        <div class="col-lg-3">
                            <input type="text" class="form-control" id="function_code" name="function_code" title="function_code" value="<?php echo $function_code_select;?>">
                        </div>
                    </div>

У меня есть определить $ function_code_select = $ rs_incharge ['function_code']; потому что мне нужно получить номер кода функции для отображения во втором поле ввода, чтобы во втором поле ввода я написал echo $ function_code_select; показать значение, но оно не может работать. Надеюсь, кто-нибудь может подсказать мне, как ее решить. Спасибо.

Ниже приведен пример того, что мне нужно, чтобы показать вывод. Если он работает, он может показать мне правильный код функции во втором поле ввода: Output 2

Ответы [ 2 ]

1 голос
/ 04 мая 2020

Вы не можете сделать это с PHP, это серверный сценарий lang. Добавьте немного javascript, чтобы маги c случились:

<div class="form-group">
  <label for="cp1" class="control-label col-lg-4">Move to Sub Folder/New Category<span style="color:red;">&nbsp;*</span></label>
  <div class="col-lg-3">
    <select onchange="getComboA(this)" class="form-control blank" id="parentid" name="parentid" title="parentid">
      <option>Please Select</option>
      <option value="New Category_value">New Category</option>
      <?php
                        $sql_incharge = 'select * from filing_code_management where status=1 order by id';
                        $arr_incharge = db_conn_select($sql_incharge);
                        foreach ($arr_incharge as $rs_incharge) {
                            $folder_location = $rs_incharge['folder_location'];
                            $function_code_select = $rs_incharge['function_code'];
                            echo '<option value="' . $rs_incharge['category_id'] . '">' . $rs_incharge['name'] . '</option>';

                        }
                        ?>
    </select> &nbsp;&nbsp;
    <!--<input type="text" class="form-control blank" id="parentid" name="parentid" title="parentid" onblur="capitalize(this.id, this.value);">-->
  </div>
</div>
<div class="form-group">
  <label for="cp1" class="control-label col-lg-4">Function Code:</label>
  <div class="col-lg-3">
    <input type="text" class="form-control" id="function_code" name="function_code" title="function_code" value="<?php echo $function_code_select;?>">
  </div>
</div>

<script>
  function getComboA(selectObject) {
    var value = selectObject.value;
    document.getElementById("function_code").value =value;
  }
</script>
0 голосов
/ 04 мая 2020

Если вам нужно сохранить value="", вы можете добавить дополнительный атрибут, например data-function-code=""

<div class="form-group">
  <label for="cp1" class="control-label col-lg-4">Move to Sub Folder/New Category<span style="color:red;">&nbsp;*</span></label>
  <div class="col-lg-3">
    <select onchange="getComboA()" 
            class="form-control blank" 
            id="parentid" 
            name="parentid" 
            title="parentid">
      <option>Please Select</option>
      <option value="New Category_value" 
              data-function-code="' . $rs_incharge['function_code'] . '">  
        New Category
      </option>
      <?php
               $sql_incharge = 'select * from filing_code_management where status=1 order by id';
               $arr_incharge = db_conn_select($sql_incharge);
                   foreach ($arr_incharge as $rs_incharge) {
                       $folder_location = $rs_incharge['folder_location'];
                       $function_code_select = $rs_incharge['function_code'];
                        echo '<option value="' . $rs_incharge['category_id'] . '">' . $rs_incharge['name'] . '</option>';

                    }
       ?>
    </select>
  </div>
</div>
<div class="form-group">
  <label for="cp1" 
         class="control-label col-lg-4">Function Code:</label>
  <div class="col-lg-3">
    <input type="text" 
           class="form-control" 
           id="function_code" 
           name="function_code" 
           title="function_code" 
           value="<?php echo $function_code_select;?>">
  </div>
</div>

<script>
  function getComboA() {
    var sel = document.getElementById('parentid');
    var selected = sel.options[sel.selectedIndex];
    var data = selected.getAttribute('data-function-code');
    document.getElementById("function_code").value =data;
  }
</script>
...