0

我想更改输入字段的值。我通过一些迭代获得了输入标签的 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 在:这里

等待您的帮助!

4

3 回答 3

4

尝试这个:

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

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

语法错误,无法识别的表达式:不支持的伪:名字

于 2013-06-03T13:49:30.223 回答
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 选择一个带有冒号的 ID

于 2013-06-03T14:02:50.573 回答
0

干得好!!

    $(document).ready(function(){
      var text_to_get='firstname';
      var targetID = '#shipping:['+text_to_get+']';
      $(targetID).val("10"); 
    }); 
于 2013-06-03T13:51:48.500 回答