Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Angular.js和PHP在select下拉列表中获取问题_Javascript_Php_Angularjs - Fatal编程技术网

Javascript 使用Angular.js和PHP在select下拉列表中获取问题

Javascript 使用Angular.js和PHP在select下拉列表中获取问题,javascript,php,angularjs,Javascript,Php,Angularjs,我在使用Angular.js的下拉列表中有一个问题。让我先解释一下代码 <div class="input-group bmargindiv1 col-md-12"> <span class="input-group-addon ndrftextwidth text-right" style="width:180px">Lecture Plan :</span> <!--<input type="text" name="topic" class="

我在使用Angular.js的下拉列表中有一个问题。让我先解释一下代码

<div class="input-group bmargindiv1 col-md-12">
<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Lecture Plan :</span>
<!--<input type="text" name="topic" class="form-control" ng-model="plan" id="plan" placeholder="Add Plan No" ng-keypress="clearField('plan');"/>-->
<select class="form-control" id="plan" ng-model="plan" ng-options="sec.name for sec in listPlanData track by sec.value " ng-change="clearField('plan');" > </select>
</div>
以下功能是在用户单击编辑按钮后实现的

$scope.getLecturePlan=function(plan_name){
           //console.log('plan name',plan_name,$scope.plan);
           $scope.listPlanData=null;
            $scope.listPlanData=[{
                name:'Select Lecture Plan',
                value:'0'}];
            $scope.plan=$scope.listPlanData[0];
            $http({
                method:'GET',
                url:"php/userplan/getPlanName.php",
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
            }).then(function successCallback(response){
                // console.log('plan ',response);
                angular.forEach(response.data, function(obj){
                var Session={'name':obj.plan_name , 'value':obj.lp_id};
                    $scope.listPlanData.push(Session);
                    if(obj.plan_name==plan_name){
                        $scope.plan.value=obj.lp_id;

                    }
                });
            },function errorCallback(response) {
            });
    }
参数
plan\u name
从数据库中获取计划名称

下面的函数是我的更新函数

if($scope.buttonName=="Update"){
            console.log("aaaaaaa",$scope.plan.name);
            if($scope.date==null){
            alert('Please select date');
            }else if($scope.plan.value==null || $scope.plan.value=='0' || $scope.plan.name=="Select Lecture Plan"){
            alert('Please add Lecture plan');
            }else if($scope.topic==null){
            alert('Please add topic');
            }else{

            var dataString = "unit_plan_id="+temp_unit_id+"&plan_id="+id+"&date="+$scope.date+"&lession_plan="+$scope.plan.name+"&topic="+$scope.topic;
            //alert("::"+dataString);

            $.ajax({ 
            type: "POST",url: "php/userplan/updatePlanData.php" ,data: dataString,cache: false,
            success: function(html)
            {
                var dobj=jQuery.parseJSON(html);
                //alert(dobj.result);
                if(dobj.result == 0)
                {
                    alert(dobj.error);
                }
                else
                {
                    var updatedata={'unit_id':temp_unit_id};

                    $scope.viewPlanData=null;
                    $scope.viewPlanData=[];

                    $http({
                        method:'POST',
                        url:"php/userplan/readPlanData.php",
                        data:updatedata,
                        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
                    }).then(function successCallback(response){
                        console.log('res',response.data);
                        $scope.viewPlanData=response.data;
                        //document.getElementById("unit_list").style.display = "none";
                        //document.getElementById("plan_list").style.display = "block";
                    },function errorCallback(response) {


                    });

                    $scope.date = null;
                    $scope.plan = null;
                    $scope.topic = null;
                    $scope.clearPlanData();
                    alert("Plan updated successfully...");

                }
            } 
            });

在上面的下拉列表中,我正在从数据库动态绑定。现在我有一个
edit
案例。在这种情况下,所有选定的数据都在该下拉列表中设置,以便进一步更新。假设当用户单击编辑按钮时,
LP1
数据集在该下拉列表中。如果用户选择默认名称
i.e-选择演讲计划
,并且单击以进行更新时,它应显示错误消息,但在这种情况下,它始终采用以前的值
,即-LP1
。请帮助我解决此问题。

尝试以下ng选项

sec.value as sec.name for sec in listPlanData 

尝试以下ng选项

sec.value as sec.name for sec in listPlanData 

我是按照你的要求做的,但无论我选择什么,它都会接受未定义的输入。我是按照你的要求做的,但无论我选择什么,它都会接受未定义的输入。你能否共享
LP1
数据,并将其分配给
$scope.listPanData
并共享
clearField
函数的代码…@SameerK:我已经更新了我的code.clearField函数只是删除了边框颜色。在我的本地设置中尝试了上述代码,效果良好。似乎有一个代码正在用上一个值覆盖所选值。你能分享编辑和更新功能吗???@SameerK:我添加了代码,请查看我的帖子。要求提供更新功能。请共享更新功能。您能否共享
LP1
数据,并将其分配给
$scope.listPanData
,以及共享
clearField
功能的代码…@SameerK:我已更新了我的代码。clearField功能刚刚删除了边框颜色。在我的本地设置中尝试了上述代码,效果良好。似乎有一个代码正在用上一个值覆盖所选值。你能分享编辑和更新功能吗???@SameerK:我添加了代码,请查看我的帖子。要求提供更新功能。请共享更新功能。