0

我对遇到的这个问题感到有些困惑。

我在创建对象项时正在克隆的模板中有一个<input type="text" />元素。

function buildSectionTest(item) {
if (item == null)
    return;
var sectionItem = $('.templates-mc .templates-mc-section-item').clone();

$('.mc-label', sectionItem).text(item.TestDescription);
$('.mc-input', sectionItem).attr({ 'testid': item.ID, 'syntax': item.TestSyntax, 'value': item.Value });
//$('.mc-input', sectionItem).val("TEST");
//alert($('.mc-input').attr('value');
//alert($('.mc-input').val());

return sectionItem.html(); 
}

但是,未设置 value 属性。查看呈现的 html 显示:

<input class="mc-input rounded-corners" type="text" testid="6446" syntax="[input]">

我已经尝试了一些东西(在上面的代码中注释掉了),但都返回空字符串,或者没有值。

最初我以为我可能会清除所有输入字段(出于某种奇怪的原因),但事实并非如此。

我的 item.Value 不为 null 或未定义。

有没有其他人遇到过这个问题?

感谢所有输入!

4

2 回答 2

3

不要使用.attr()设置值使用.val()

$('.mc-input', sectionItem).attr({ 'testid': item.ID, 'syntax': item.TestSyntax}).val(item.Value);

前任:

function buildSectionTest(item) {
    if (item == null)
        return;

    var sectionItem = $('.templates-mc .templates-mc-section-item').clone();

    $('.mc-label', sectionItem).text(item.TestDescription);
    $('.mc-input', sectionItem).attr({ 'testid': item.ID, 'syntax': item.TestSyntax}).val(item.Value);
    //$('.mc-input', sectionItem).val("TEST");
    //alert($('.mc-input').attr('value');
    //alert($('.mc-input').val());

    return sectionItem; //do not return the html
}
于 2013-06-20T04:39:35.217 回答
-2

尝试这个:

$('.mc-input', sectionItem).attr({ 'testid': item.ID, 'syntax': item.TestSyntax, this.val(item.Value) });
于 2013-06-20T04:36:53.987 回答