单击复选框后,Jquery/ajax/php 将数据加载到文本字段中

Posted

技术标签:

【中文标题】单击复选框后,Jquery/ajax/php 将数据加载到文本字段中【英文标题】:Jquery/ajax/php load data into textfield after clicking checkbox 【发布时间】:2013-10-10 01:54:35 【问题描述】:

单击复选框后如何将数据加载到文本字段中,完成后,我需要禁用该文本框,但再次取消选中它时,需要删除该数据并启用文本框以手动输入数据。我试过这段代码,我是 jquery/ajax 的新手,不知道如何解决这个问题。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>

 <script>
$(document).ready(function()
   $('#chk').click(function()
     if($(this).is(":checked"))
       $("#txtaddress").removeAttr("disabled");
    else
      $("#txtaddress").attr("disabled" , "disabled");
         // here, i don't know how do i assign $row['address'] to txtaddress by
         // using php mysql 
    );
   );
 </script>

      <!-this is my html code-->
      <form>
        <input type="checkbox" id="chk" name="chk">Same as home address?
        <input id="txtaddress" name="txtaddress"  disabled type="text">
       </form>

【问题讨论】:

对于初学者,.atte 应该是 .attr。然后在下一行做$('#txtaddress").val('&lt;?php echo $row[address];?&gt;'); i need to disable that checkbox, but again as i uncheck it, - 如何单击禁用复选框使其再次取消选中?这是不可能的 我认为他的意思是至少在选中复选框时禁用文本输入。 @JamieTaylor:对不起,这是文本框,我编辑了。 【参考方案1】:

javascript代码:

$(document).ready(function()
 $('#chk').click(function()
var txt =   $("#txtaddress");
 ($(this).is(":checked")) ? txt.attr("disabled" , true) :  txt.attr("disabled" , false);
 );
);

【讨论】:

【参考方案2】:

试试下面的,

<script>
$(document).ready(function()
        $('#chk').click(function()
            if($(this).is(":checked"))
                 $("#txtaddress").val(""); //reset the textbox
                $("#txtaddress").removeAttr("disabled");

            else 
                $.ajax(
                    type: 'GET',
                    url: destinationUrl, // your url
                    success: function (data)  // your data ie $row['address'] from your php script
                        $("#txtaddress").val(data); //set the value
                        $("#txtaddress").attr("disabled", "disabled"); 
                    
                );
            
        );
);
</script>

从你的php脚本你可以echo$row['address'],所以成功函数中的数据可以放在ajax的文本框中

【讨论】:

【参考方案3】:

我希望这就是你的意思..希望这可能会有所帮助... :)

    $('#chk').click(function()
           if(! $(this).is(":checked"))
               $("#txtaddress").removeAttr("disabled");
                $("#txtaddress").val('');
           
           else
               $.ajax( 
                url: "get_row_details",
                type: "POST", //or may be "GET" as you wish
                data: 'username='+name, // Incase u want to send any data
               success: function(data) 
                   $("#txtaddress").val(data); //Here the data will be present in the input field that is obtained from the php file
               
               );
               $("#txtaddress").attr("disabled" , "disabled");
           
        );

从 php 文件echo 中获得所需的$row['address']。这个value 将在ajax functionsuccess 处获得

【讨论】:

以上是关于单击复选框后,Jquery/ajax/php 将数据加载到文本字段中的主要内容,如果未能解决你的问题,请参考以下文章

Jquery按钮单击事件不起作用

(进阶篇)jQuery+Ajax+PHP+Mysql实现分页显示数据

单击注释时,如何将数据传递给其视图控制器?

如何将数据传递给其他视图? [关闭]

jquery ajax php 调用方法!

单击功能后在表格中切换复选框