繁体   English   中英

如何使用jQuery在输入类型=“文本”中放入字符串?

[英]How to put a string in input type=“text” with jQuery?

我不明白为什么我的代码不起作用:我尝试使用jQuery将字符串放入input type="text" ,但它不起作用。 当输入的属性中有空格时,它将字符串的不同元素分开。

我的jQuery代码:

<script type="text/javascript">
    $(document).ready(function() {
        $(".btnEditSerie").click(function (e) {            
            e.preventDefault();
            var tr = $(this).closest('tr');
            var $GroupingId = tr.find('#item_GroupingId').val()
            localStorage['GroupingId'] = $GroupingId;
            var $Title = tr.find('#item_Title').val();
            var $Description = tr.find('#item_Description').val();
            var $Image = tr.find('#item_Image').val();
            $("#b").hide("slow");
            $("#btnretour").show();
            $('#SerieEdit').append("<label id=" + 'test2' + ">" + "Modification de :" + " " + $Title+ "</label>");
            $('#TextEdit').html("<label>" + "Titre :" + " " + "</label>" + "<input type=" + 'text' + " value=" + $Title + " id=" + 'SerieNewName' + " />"
                                 + "<label>" + "Description :" + " " + "</label>" + "<input type=" + 'text' + " value=" + $Description.toString() + " id=" + 'SerieNewDescription' + "/>"
                                 + "<label>" + "Image :" + " " + "</label>" + "<input type="+'file'+" value="+$Image.toString()+ " id=" +'SerieNewImage'+"/>");
            $("#SerieEdit").show();
            $("#TextEdit").show();   
        })

        $('#btnRet').click(function() {
            $("#b").show("slow");
            $("#SerieEdit").hide();
            $("#TextEdit").hide();
            $("#SerieEdit").empty();
            $("#TextEdit").empty();
            $("#btnretour").hide();
        })
    });   
</script>

使用val() ,例如$Title必须是一个字符串,当我将$Title放入.Append()它将返回类似的内容:

我悲伤的HTML代码:

<h2>EditRefSerie</h2>
<div id="SerieEdit">
    <div id="TextEdit">
        <label>Titre : </label>
        <input id="SerieNewName" type="text" thrones="" of="" value="Games">
        <label>Description : </label>
        <input id="SerieNewDescription/" type="text" thrones="" of="" value="games">
        <label>Image : </label>
        <input id="SerieNewImage/" type="file" value="Dessin1.jpg">
    </div>
<div id="btnretour" style="">

对于字符串“权力的游戏”,它返回:

<input id="SerieNewName" type="text" thrones="" of="" value="Games">

您有解决办法的想法吗? 我可以正确使用jQuery吗?

您忘记了引号:

您的JS

$('#TextEdit').html("<label>" + "Titre :" + " " + "</label>" + "<input type=" + 'text' + " value=" + $Title + " id=" + 'SerieNewName' + " />" 
+ "<label>" + "Description :" + " " + "</label>" + "<input type=" + 'text' + " value=" + $Description.toString() + " id=" + 'SerieNewDescription' + "/>" 
+ "<label>" + "Image :" + " " + "</label>" + "<input type="+'file'+" value="+$Image.toString()+ " id=" +'SerieNewImage'+"/>");

应该是

$('#TextEdit').html("<label>" + "Titre :" + " " + "</label>" + "<input type=" + 'text' + " value='" + $Title + "' id=" + 'SerieNewName' + " />" 
+ "<label>" + "Description :" + " " + "</label>" + "<input type=" + 'text' + " value='" + $Description.toString() + "' id=" + 'SerieNewDescription' + "/>" 
+ "<label>" + "Image :" + " " + "</label>" + "<input type="+'file'+" value='"+$Image.toString()+ "' id=" +'SerieNewImage'+"/>");

请注意为value属性添加的引号。 温馨提示:无需将input types放在串联字符串中。 如果您这样做,则可读性更高:

"<input type='text' value='" + val + "' />"

代替:

"<input type='" + 'text' + "' value='" + val + "' />" 

就像你在做。

您没有在属性周围正确使用引号,例如

$('#SerieEdit').append("<label id='" + test2 + "'>" + "Modification de :" + " " + $Title+ "</label>");

ID在HTML页面中是唯一的。 因此,您无需“查找”即可获取您的价值。

此外,该变量不需要“ $”

做类似的事情:

$(document).ready(function () {
    $(".btnEditSerie").click(function (e) {            
        e.preventDefault();
        var GroupingId = $('#item_GroupingId').val(); // not need to find if you have a id.. id is unique in the HTML page.
        localStorage['GroupingId'] = $GroupingId;
        var Title = $('#item_Title').val();
        var Description = $('#item_Description').val();
        var Image = $('#item_Image').val();
        $("#b").hide("slow");
        $("#btnretour").show();
        $('#SerieEdit').append("<label id='test2'>Modification de : " + Title + "</label>");
        $('#TextEdit').html("<label>Titre : </label> <input type='text' value=" + Title + " id='SerieNewName' /> <label> Description : </label><input type='text' value=" + Description + " id='SerieNewDescription'/><label>Image : </label><input type='file' value="+ Image + " id='SerieNewImage'/>");
        $("#SerieEdit").show();
        $("#TextEdit").show();
    });


    $('#btnRet').click(function(){
        $("#b").show("slow");
        $("#SerieEdit").hide();
        $("#TextEdit").hide();
        $("#SerieEdit").empty();
        $("#TextEdit").empty();
        $("#btnretour").hide();
    })
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM