从输入字段中获取值

时间:2013-10-19 11:36:11

标签: php jquery ajax

我使用jQuery和AJAX使用下面的代码来更新我的数据库。

删除效果很好,但编辑功能不起作用。如何从每个输入字段中获取值?

<ol class="update">
<?php

$ss = mysql_query ("SELECT * FROM users_channels WHERE u_id='$uid'");
while ($chann = mysql_fetch_assoc($ss)) {
    echo'               
    <li>
    <input name="channelName" type="text" id="channelName" style="float:left; width:300px; border:1px solid #CCC;" value="'.$chann['channel_name'].'" />
    <a href="#" id="'.$chann['id'].'" class="delete_button"><span id="rcolor">Delete</span></a>
    <a href="#" id="'.$chann['id'].'" cvalue="'.$chann['channel_name'].'" class="save_button"><span id="gcolor">Save</span></a>
    </li>';
}

?>
</ol>

Javascript代码:

$(document).ready(function() {

    $(function() {
        $(".save_button").click(function() {
            var id = $(this).attr("id");
            var cvalue = $(this).attr("cvalue");
            var dataStringe = 'id=' + id + '&cvalue=' + cvalue;
            var parent = $(this).parent();

            alert(cvalue);

            $.ajax({
                type: "POST",
                url: "update_channel.php",
                data: dataStringe,
                cache: false,

                beforeSend: function() {
                    parent.animate({'backgroundColor':'#fb6c6c'}, 300).animate({ opacity: 0.35 }, "slow");
                }, 
                success: function() {
                    //parent.slideUp('slow', function() {$(this).remove();});
                }
            });

            return false;
        });
    });
});

3 个答案:

答案 0 :(得分:2)

在java脚本函数中添加它

 $(document).ready(function() {
    $(function() {
    $(".save_button").click(function() {

        var inputVal=$("#channelName").val();

        //rest of your code

         return false;
        });
       });
     });

您将在 inputVal 变量中获取输入字段的值(根据您的问题)。

为了获取所有输入字段的值,给它们一个公共的类名,而不是像这样给出样式

<input class="myInput" type="text" value="red" id="one"/>
<input class="myInput" type="text" value="France" id="two" />

然后在你的javascript中添加此

var inputValues= {};
$(".myInput").each(function() {
    inputValues[$(this).attr("id")] = $(this).val();
});

alert(inputValues.one); // "red"

您将获得 inputValues 变量中所有输入字段的值

答案 1 :(得分:0)

你可以更明确吗?你需要得到什么?所有输入元素的价值?如果是..使用$('input[name=example]').each(function(){}) 这将获得具有指定名称的所有输入的所有值

答案 2 :(得分:0)

我想你要做的是将输入字段的值提交为cvalue?要做到这一点,最好的方法是:

$(".save_button").click(function() {
  var id = $(this).attr("id");
  var parent = $(this).parent();
  var cvalue = parent.find('input').val(); // this gets the value of the <input> field
  var dataStringe = 'id='+ id + '&cvalue='+ cvalue;

  // the rest of your code...
});