【问题标题】:javascript form selected name versus numberjavascript表单选择的名称与数字
【发布时间】:2025-11-30 15:30:01
【问题描述】:

我阅读了Javascript selecting form elements using name attribute 并从中得到了以下表单选择工作:

field_I_am_after: $(':input[name="panes[delivery][address][delivery_zone]"]').val(),

但它提供了“选定”类 NUMBER - 在这种情况下,“12”来自 Ubercart 表单中的一组状态 ID,如下所示:

<select id="edit-panes-delivery-address-delivery-zone" name="panes[delivery][address][delivery_zone]" class="form-select required">
 . . .  MORE . . . 
    <option value="11">Armed Forces Pacific</option>
    <option value="12" selected="selected">California</option>
    <option value="13">Colorado</option>
     . . .  MORE . . . 
</select>

我正在尝试让“选定”的名称进入/成为“field_I_am_after”,即 => $(' . . . option:selected').val().text()

我还查看了Get selected text from a drop-down list (select box) using jQuery 并尝试了大部分建议。我正在使用 JQuery 1.8,因为 ckeditor 抱怨新版本并且无法使用它们

我试图将其附加到我的工作声明中的所有变体都不起作用

谁能看到我做错了什么 - 或不完整??

【问题讨论】:

  • 试试$(':input[name="panes[delivery][address][delivery_zone]"] option:selected').text()

标签: javascript jquery forms ubercart


【解决方案1】:

试试这个:

field_i_am_after: $(':input[name="panes[delivery][address][delivery_zone]"] option:selected').text()

选择器的第一部分找到 &lt;select&gt; 元素,然后向下钻取到 option:selected 以找到用户选择的选项,然后使用 .text() 获取其文本内容而不是值。

$(':input[name="panes[delivery][address][delivery_zone]"]').change(function() {
  $("#output").text(
    $(':input[name="panes[delivery][address][delivery_zone]"] option:selected ').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<select id="edit-panes-delivery-address-delivery-zone" name="panes[delivery][address][delivery_zone]" class="form-select required">
  <option value="11">Armed Forces Pacific</option>
  <option value="12" selected="selected">California</option>
  <option value="13">Colorado</option>
</select>
<br>Chosen: <span id="output"><span>

【讨论】:

  • 做到了。我把选项放在了:selected INSIDE 最后一个“]” - 这就是我做错了。