如何格式化选择标记内的选项值文本?

时间:2013-05-22 15:03:30

标签: html html-select

我有一个表项列表,当按下复制按钮时,所有表项连接到一个文本框,被选中,并放到Windows剪贴板上。

框的格式如下:

<tr>
  <td>Name of Person:</td>
  <td><textarea name="name" rows="2" cols="30" id="name"></textarea></td>
</tr>
<tr>
  <td>Type of Service:</td>
  <td><select name="drop1" id="txt_drop1">
      <option value="">None</option>
      <option value="Type of Service: Minimal">Minimal</option>
      <option value="Type of Service: Normal">Normal</option>
      <option value="Type of Service: Full">Full</option>
      <option value="Type of Service: Premium">Premium</option>
    </select></td>
</tr>
<tr>
  <td>Dollar Amount:</td>
  <td><textarea name="amount" rows="1" cols="30" id="txt_info2"></textarea></td>
</tr>
<tr>
<td><textarea name="bigtextbox" rows="5" cols="30" id="txt_info2"></textarea></td>
</tr>

我需要的是格式化,因为当按下复制按钮时,生成的文本会以一种整洁的方式连接起来。我可以这样做:

姓名:约翰
服务类型:完整
金额:125美元

但是如果在下拉框中没有选择任何选项,我也需要不换行,如下所示:

姓名:约翰
金额:125美元

而不是:

姓名:约翰

金额:125美元

有没有办法将格式代码(例如'\ n')应用于选项的值?现在,单击复制按钮后,所有非框文本框都在连接代码中格式化,例如:

    <input type="button" style="font-weight:bold;" name="clipboard_copy" value="Copy" onClick="document.data_entry.bigtextbox.value = 'Name:&nbsp;' + document.data_entry.name.value + '\n' + document.data_entry.drop1.value + '\n' + 'Amount: $' + document.data_entry.amount.value>

1 个答案:

答案 0 :(得分:1)

可能我不理解你。我以为您想将option元素格式更改为select元素。如果您想在按下按钮后实现该格式,可以尝试:

<input type="button" style="font-weight:bold;" name="clipboard_copy" value="Copy"
onClick="document.data_entry.bigtextbox.value = 'Name:&nbsp;' + 
document.data_entry.name.value + (document.data_entry.drop1.value.trim().length 
=== 0) ? '' : '\n' + document.data_entry.drop1.value + '\n' + 'Amount: $' + 
document.data_entry.amount.value">

我将此行添加到您的按钮示例中:

(document.data_entry.drop1.value.trim().length === 0) ? '' : '\n' + 
document.data_entry.drop1.value

这会检查(您可以检查您想要的任何条件。例如,如果您的select有值,我只是用它来检查您是否选择了“空白”。如果没有值,则会将''设置为“响应”文本。如果它包含某些内容,则会添加'\n' + document.data_entry.drop1.value