使用jquery中的id值更改输入字段的值不起作用

时间:2013-06-03 13:47:26

标签: jquery html

我想更改输入字段的值。我通过一些迭代得到输入标签的id值。然后我使用val()来给出一个值。 但它不起作用。

我的HTML

<input type="text" id="shipping:firstname" name="billing[firstname]" value=""/>

我的jQuery

$(window).ready(function(){
var text_to_get='firstname';
var targetID = '#shipping['+text_to_get+']';
$(targetID).val("10");
});

jsFiddle位于:here

等待你的帮助!

3 个答案:

答案 0 :(得分:4)

试试这个:

var text_to_get = 'firstname';
var targetID = '#shipping\\:' + text_to_get;
$(targetID).val("10");

您需要在 targetID 中转义此:,因为它会在控制台中出现错误,如:

  

语法错误,无法识别的表达式:unsupported pseudo:firstname

答案 1 :(得分:2)

$(window).ready(function(){
    var text_to_get='firstname';
    var targetID = '#shipping\\:'+text_to_get;
    $(targetID).val("10");
});

http://jsfiddle.net/sBqxp/1/

转义冒号使用“\\”
但是,我认为将冒号放在ids或名字或任何不好的主意 (使用camelCase表示法:id =“shippingFirtName”)

REF: Jquery selecting an ID with a colon in it

答案 2 :(得分:0)

你走了!!

    $(document).ready(function(){
      var text_to_get='firstname';
      var targetID = '#shipping:['+text_to_get+']';
      $(targetID).val("10"); 
    });