jquery选择填充元素

时间:2015-05-20 12:29:08

标签: jquery html select

我有以下列表:

<select id="selectprice" name="prod1">"
<option value="1">prod1</select>
<option value="2">prod2</select>
<option value="3">prod3</select>
</select>

<input type="text" id="valueprice" name="price_incl" size="4">

当我从下拉列表中选择一个选项时,我希望以下代码更新我的价格:

<script type="text/javascript">
    $(document).ready(function() {
      $("select[name='prod1']").change(function() {
         if($(this).val()==1) {
             $('#valueprice1').text( "21.95" );
           }// ect ect
     });
   });
</script>

但是..它不起作用,我似乎无法弄清楚为什么;)

此致

5 个答案:

答案 0 :(得分:0)

缺少选项结束标记 -

<option value="1">prod1</option> // not select

val()不是text()

$('#valueprice').val( "21.95" );

代码将是 -

$("select[name='prod1']").change(function() {
    if($(this).val()==2) {
         $('#valueprice').val( "21.95" );
    }
});

FIDDLE

答案 1 :(得分:0)

首先,您的ID选择器必须是Beacon,而不是#valueprice

另外,请使用#valueprice1关闭option代码,而不是option

最后,使用select代替val,因为这是text元素

input
    $(document).ready(function() {
      $("select[name='prod1']").change(function() {
         if($(this).val()==1) {
             $('#valueprice').val( "21.95" );
           }// ect ect
     });
   });

答案 2 :(得分:0)

您应该使用val代替text来设置元素的值。

$('#valueprice1').val("21.95");
  

设置匹配元素集中每个元素的值。

文档:http://api.jquery.com/val/

答案 3 :(得分:0)

2个问题,选项的结束标记为</select>而非$(document).ready(function() { $("select[name='prod1']").change(function() { if ($(this).val() == 1) { $('#valueprice').val("21.95"); } // ect ect }); });,然后使用.val()设置输入值

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="selectprice" name="prod1">"
  <option value="1">prod1</option>
  <option value="2">prod2</option>
  <option value="3">prod3</option>
</select>
<input type="text" id="valueprice" name="price_incl" size="4">
# gem install google-api-client -v 0.8.6 # upper versions are not compatible with this code

require "google/api_client"

@email = "email@developer.gserviceaccount.com"
@key = "path/to/key.p12"

key = Google::APIClient::KeyUtils.load_from_pkcs12(@key, 'notasecret')

auth = Signet::OAuth2::Client.new(
  token_credential_uri: 'https://accounts.google.com/o/oauth2/token',
  audience: 'https://accounts.google.com/o/oauth2/token',
  scope: ["https://www.googleapis.com/auth/drive", "https://spreadsheets.google.com/feeds/"].join(' '),
  issuer: @email,
  access_type: 'offline',
  signing_key: key
)

auth.fetch_access_token!
puts auth.access_token  

答案 4 :(得分:0)

您未正确关闭options代码,需要使用val()来设置值,请参阅以下示例中的更正:

&#13;
&#13;
  $(document).ready(function() {
    $("select[name='prod1']").change(function() {

      if ($(this).val() == 1) {
        alert('prod1 selected')
        $('#valueprice1').val("21.95");
      } // ect ect
    });
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selectprice" name="prod1">"
  <option value="1">prod1</option>
  <option value="2">prod2</option>
  <option value="3">prod3</option>
</select>
&#13;
&#13;
&#13;