无法读取值窗体<;选定的>;使用JQuery/Javascript的元素

无法读取值窗体<;选定的>;使用JQuery/Javascript的元素,jquery,forms,select,element,Jquery,Forms,Select,Element,我无法得到表单元素的值,即使从其他类似的问题来看,这应该是可行的 仅供参考-我有一个函数可以将2个id(#selected_sign&#selected_sign_form)写入文章和嵌套在文章中的表单-这纯粹是出于样式/标识目的 以下是无法根据分配的ID获取元素值的函数: var sSize_prices= new Array(); sSize_prices["45"]=45; //per sq ft sSize_prices["60"]=65; //per sq ft function g

我无法得到表单元素的值,即使从其他类似的问题来看,这应该是可行的

仅供参考-我有一个函数可以将2个id(#selected_sign&#selected_sign_form)写入文章和嵌套在文章中的表单-这纯粹是出于样式/标识目的

以下是无法根据分配的ID获取元素值的函数:

var sSize_prices= new Array();
sSize_prices["45"]=45; //per sq ft
sSize_prices["60"]=65; //per sq ft

function getSizePrice() {
var getSizePrice=0;

var theForm = document.forms["selected_sign_form"];
var selectedSize = theForm.elements["os0"];
alert(selectedSize.value);

getSizePrice = sSize_prices[selectedSize.value];

return getSizePrice;
}
以下是包含ID文章和表单的HTML标记:

<section class="sign_type">
    <h3>Selection</h3>
    <article class="signs" onclick="calculateTotal()" id="selected_sign">
      <figure class="sample">
        <a href="/cat/s1b.png" rel="lightbox" title="Sign preview">
          <img class="sign_preview" src="/cat/s1.png" alt="Sign preview" title="Sign preview" />
        </a>
      </figure>
      <form action="" class="options" onsubmit="return false;" id="selected_sign_form">
        <div class="sign_option1"><label class="on0">Size:</label>
          <select name="Size" class="os0" onclick="calculateTotal()">
            <option value="45">45cm sq</option>
            <option value="60">60cm sq</option>
          </select>
        </div>
        <div class="sign_option2"><label class="on1">Qty:</label>
          <input name="Quantity" class="os1" value="1" onkeyup="calculateTotal()" />
        </div>
        <div class="sign_option3"><label class="on2">Fine:</label>
          <input name="Custom" class="os2" value="" />
        </div>
      </form>
      <div class="price"></div>
    </article>
</section>

挑选
尺寸:
45平方厘米
60平方厘米
数量:
好的:

您可以使用jQuery来完成。您可以使用不同的方法,使用“id”选择器获取表单元素,并使用
.find()
获取select元素

var sSize_prices= new Array();
sSize_prices["45"]=45; //per sq ft
sSize_prices["60"]=65; //per sq ft

function getSizePrice() {
var getSizePrice=0;

var selectBox= $("#selected_sign_form").find(".os0:first");
alert($(selectBox).val());

getSizePrice = sSize_prices[$(selectBox).val()];

return getSizePrice;
}

注意-请在上述
脚本
之前包含jquery库。要包含jquery库,请参见

您的代码很好,只需要一个小的HTML修改

下一行正在表单中查找属性“name”等于“os0”的元素:

如果您将“选择”标记的名称设置为“os0”-它将起作用

例如

<select name="os0" class="os0" onclick="calculateTotal()">


我认为您不能像这样分配数组值:
sSize_prices[“45”]=45。在JavaScript中,只能通过数字访问数组索引。如果您希望以现在的方式使用它,那么需要使用一个纯用于对照数组检查值以找到相应的“price”。它工作得非常好,特别是对于每个选项都有不同定价的大型选项阵列。这也非常有效,甚至是一个更有效的解决方案。谢谢
<select name="os0" class="os0" onclick="calculateTotal()">