获取字符串,但不获取下拉列表选项选择中的值


Get the string, but not the value from dropdown list option select

>我有两个选择框和一个隐藏文本框

<select name="name" id="name" class="form-control input-sm">
  <option value="">- Choose a Name -</option>
 <?php foreach($name as $n) { ?>
  <option value="<?php echo $n->id_name;?>"><?php echo $n->name;?></option>
 <?php } ?>
</select>
<select name="status" id="status" class="form-control input-sm">
  <option value="">- Choose a Status -</option>
 <?php foreach($status as $s) { ?>
  <option value="<?php echo $s->id_status;?>"><?php echo $s->name;?></option>
 <?php } ?>
</select>
<input type="hidden" id="message" name="message" value="">

我所知道的是这样的剧本

function inputKelurahan()
 { var name = document.getElementById("name");
   var status = document.getElementById("status");
   document.getElementById("message").defaultValue = name.value + status.value;
 }

当然,消息将是 $id_name + $id_status。如何简洁$name+$status?

提前感谢,

听起来就像您想要所选选项中的文本一样。然后,您可以先获取selectedIndex,然后是该选项的innerHTML

下面是一个简单的片段,其中包含部分代码。

function inputKelurahan()
{ 
  var name = document.getElementById("name");
  var status = document.getElementById("status");
  var nameInnerHtml = name.options[name.selectedIndex].textContent; // using textContent as mentioned by james.brndwgn in comments.
  var statusInnerHtml = status.options[status.selectedIndex].textContent;
  alert("Name is: " + nameInnerHtml + ". Status is: " + statusInnerHtml);  
}
<select name="name" id="name" class="form-control input-sm">
  <option value="">- Choose a Name -</option>
  <option value="Value1">Name 1</option>
  <option value="Value2">Name 2</option>
  <option value="Value3">Name 3</option>
</select>
<select name="status" id="status" class="form-control input-sm">
  <option value="">- Choose a Status -</option>
  <option value="StatusValue1">Status 1</option>
  <option value="StatusValue2">Status 2</option>
  <option value="StatusValue3">Status 3</option>
</select>
<button onclick="inputKelurahan()">Click me!</button>

function inputKelurahan()
 { var name = document.getElementById("name");
   var status = document.getElementById("status");
   document.getElementById("message").value = name.selectedIndex.value + status.selectedIndex.value;
 }