text()不会附加到同一行

时间:2015-10-28 16:05:16

标签: javascript jquery html

jQuery text()函数不会将option从选择字段追加到span。我在同一个select中有两个div个字段。它们是不同的,包含动态创建的数字。

function myFunction(selector) {
    var i;
    for (i = 1; i <= 999; i++) {
      var text = '00' + i;
      selector.options[i - 1] = new Option(text.substr(text.length - 3, 3));
    }
  }
  //usage:
myFunction(document.getElementById("patient_code"));

$('#patsiendikoodi_label #patient_code ').change(function(i, text) {
  var $this = $(this);
  $this.prev().find('.patsiendikoodi_label_nr').text($(this).find('option:selected').text());
}).change();



function patsient(selector) {
    var i;
    for (i = 1; i <= 99; i++) {
      var text = '0' + i;
      selector.options[i - 1] = new Option(text.substr(text.length - 2, 2));
    }
  }
  //usage:
patsient(document.getElementById("patient_code2"));

$('#patsiendikoodi_label #patient_code2 ').change(function(i, text) {
  var $this = $(this);
  $this.prev().find('#patsiendi_kood').text($(this).find('option:selected').text());
  console.log("WRITTEN");
}).change();
<div id="patsiendikoodi_label" class="col-sm-10">
  <label class="control-label">Kood:</label>
  <h4 style="color: #0DD31B; font-weight: bold;"><span id="ravimi_nimi"></span><?php foreach( $result as $row ){echo $row['user_code']; }?>- <span class="patsiendikoodi_label_nr"></span><span id="patsiendi_kood">-</span></h4>

  <select data-placeholder="" id="patient_code" class="chosen-select form-control" tabindex="2">
  </select>

  <select data-placeholder="" id="patient_code2" class="chosen-select form-control" tabindex="2">
  </select>

</div>

我正在从JavaScript生成option个值。如果我将第二个select字段放在另一个div中,它会将所选选项附加到范围。这张照片应该比我的解释好。

enter image description here

但无论我做什么,它都不会添加文字。

1 个答案:

答案 0 :(得分:5)

在第二个处理程序中,prev()找到的是上一个select元素,而不是想要要搜索的h4

使用prevAll('h4');查找该元素。

&#13;
&#13;
$('#patient_code2').change(function(i, text) {
  var $this = $(this);
  $this.prevAll('h4').find('#patsiendi_kood').text($(this).find('option:selected').text());
  console.log("WRITTEN");
}).change();

function myFunction(selector) {
    var i;
    for (i = 1; i <= 999; i++) {
      var text = '00' + i;
      selector.options[i - 1] = new Option(text.substr(text.length - 3, 3));
    }
  }
myFunction(document.getElementById("patient_code"));

$('#patient_code').change(function(i, text) {
  var $this = $(this);
  $this.prev().find('.patsiendikoodi_label_nr').text($(this).find('option:selected').text());
}).change();


function patsient(selector) {
    var i;
    for (i = 1; i <= 99; i++) {
      var text = '0' + i;
      selector.options[i - 1] = new Option(text.substr(text.length - 2, 2));
    }
  }
patsient(document.getElementById("patient_code2"));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="patsiendikoodi_label" class="col-sm-10">
  <label class="control-label">Kood:</label>
  <h4 style="color: #0DD31B; font-weight: bold;"><span id="ravimi_nimi"></span><?php foreach( $result as $row ){echo $row['user_code']; }?>- <span class="patsiendikoodi_label_nr"></span><span id="patsiendi_kood">-</span></h4>

  <select data-placeholder="" id="patient_code" class="chosen-select form-control" tabindex="2">
  </select>

  <select data-placeholder="" id="patient_code2" class="chosen-select form-control" tabindex="2">
  </select>

</div>
&#13;
&#13;
&#13;

当然,由于id在文档中是唯一的,所以您只需说:

$('#patsiendi_kood').text( $(this).find('option:selected').text() );