2

我的要求是将整个“html”保存在 div 中,但是当我将带有文本字段的“html”加载到 div 然后编辑文本框的值时,新设置的值不会反映在核心中“ html”。我尝试使用 fire bug 检查该值,但它保持不变或根本没有值。使用“jquery”我尝试设置属性,但没有创建属性名称值。如何设置文本字段的值,然后使用新设置的值获取“html”。

这是我的html

<div class="sub_input_box">
  <input type="text" / class="boreder_line">
  <input type="text" id="txt" value=""/>
  <input type="hidden" id="hid" />
  <div class="clear"></div>
</div>

和我用来设置属性的jquery

$("#txt").attr("value", "some value");

4

6 回答 6

3

您可能会在 HTML 输入部分之前调用 jQuery 代码。你可以把 jQuery 的东西放在它下面,或者如果你不想,你可以这样做:

$(document).ready(function(){
    $("#txt").attr("value", "some value");
});

这只会在页面完全加载时运行。

但是,不清楚您是否使用AJAX将这些输入加载到您的 DOM 中。如果是这样,您需要调用$("#txt").attr("value", "some value");AJAX 成功响应后触发的 onSuccess 回调函数。

于 2013-08-25T04:59:08.453 回答
1

你可以尝试这样的事情: -

  <input name="example" type="text" id="example" 
  size="50" value="MyDefaultText" onfocus="if(this.value=='MyDefaultText')this.value=''"
  onblur="if(this.value=='')this.value='MyDefaultText'" />
于 2013-08-25T03:13:19.110 回答
0

你有没有尝试过:

$("#txt").val("Hello World!");

用于设置文本值,并且,

var my_string = $("#txt").val();

用于获取文本值。

让我知道它是否有效。

于 2013-08-25T02:59:30.423 回答
0

很好的问题。你会认为克隆会自己做这件事,唉,事实并非如此。

这是一个示例,您希望能够适应做您需要的事情

HTML

<div id=divToCopy>
    <input name=i1 value=foo><br>
    <input name=i2 value=bar>
</div>
<input type=button onclick=copyDiv(); value='Copy the div'>

<div id=newDiv>
    the copy will go here
</div>

JavaScript

    function copyDiv() {
        $('#newDiv').html($('#divToCopy').clone());

        $('#divToCopy :input').each(function() {
            var child=0;
            for (var i = 0; i < this.attributes.length; i++) {
                var attrib = this.attributes[i];
                var prop=$(this).prop(attrib.name);
                $($('#newDiv').find(' :input')[child]).prop(attrib.name,prop);
                child++;
            }
        });
    }
于 2013-08-25T03:40:54.250 回答
0
$(document).on('focusout','input[type="text"]',function(a){
console.log(a.target.value);
a.target.setAttribute("value",a.target.value);
});

这是我找到的解决方案,我必须在文本字段的松散焦点上明确设置 value 属性

于 2013-08-25T04:54:32.437 回答
0

但它确实有效:http: //jsbin.com/eXEROtU/1/edit

var html = '<input type="text" id="txt" value=""/>';

$(document).ready(function() {

  $("#load").click(function() {
    $("#sub_input_box").html(html);
  });

  $("#inspect").click(function() {
    alert($("#txt").val());
  });

});
于 2013-08-25T04:10:05.317 回答