1

我正在使用下面的代码使用 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;
        });
    });
});
4

3 回答 3

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变量中所有输入字段的值

于 2013-10-19T11:43:27.220 回答
0

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

于 2013-10-19T11:41:57.993 回答
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...
});
于 2013-10-19T11:46:44.733 回答