当前位置: 首页 > 面试题库 >

设置AJAX响应选中的单选按钮

司寇高峯
2023-03-14
问题内容

我需要在表单中设置一个单选按钮;必须使用来自AJAX响应的值进行检查。

我的AJAX回应是response.drive。“手动”或“自动”可能是其值。

更新: 所以我尝试了一些不同的方法,但是我无法弄清楚。

单程 :

if(response.drive=="Manual") {
    .find('[name=drive]')[0].checked = true         
} else {
    .find('[name=drive]')[1].checked = true
}

其他方式:

.find("input:radio[name='drive'][value='"+ response.drive +"']")[0].checked = true.end()

这就是我的ajax成功函数用来填充表单值的方式。

.success(function(response) {
                    // Populate the form fields with the data returned from server
                    response = jQuery.parseJSON(response)
                    $('#editVehicle')

                            .find('[name="vehicle_id"]').val(response.vehicle_id).end()
                            .find('[name="vehicle_name"]').val(response.vehicle).end()
                            .find('[name="seats"]').val(response.seats).end()
                            .find('[name="luggage"]').val(response.luggage).end()
                            .find('[name="doors"]').val(response.doors).end()
                            .find('[name="emission"]').val(response.emission).end()

                            //.find('[name="drive"]').val(response.drive).prop("checked",true).end()
                            //.find('[name="aircon"]').val(response.aircon).prop("checked",true).end()
                            //.find("input:radio[name='drive'][value='"+ response.drive +"']")[0].checked = true.end()

                            //if(response.drive=="Manual"){
                .find('[name=drive]')[0].prop('checked').end()
                            //}else{
                                //.find('[name=drive]')[1].prop('checked')
                            //}

                            .find('[name="rental"]').val(response.price).end();

                    // Show the dialog
---- -
---- 
---

这是HTML单选按钮:

<div class="form-group">
    <label for="">Transmission :</label>
    <div class="col-sm-8">
        <label class="radio-inline">
            <input type="radio" name="drive" id="" value="1"> Manual
        </label>
        <label class="radio-inline">
            <input type="radio" name="drive" id="" value="2"> Auto
        </label>                                                                
    </div>
</div>

如何正确执行此操作?


问题答案:

$('#editVehicle').find(':radio[name=drive][value="1"]').prop('checked', true);

样品:

$(function() {

  response = {

    "vehicle_id": 2,

    "vehicle": "RENAULT TWINGO2798",

    "seats": 43,

    "luggage": 5,

    "doors": 34,

    "emission": 455,

    "drive": "Manual",

    "aircon": "Yes",

    "price": "435.000"

  };



  console.log(response.drive);



  if (response.drive == 'Manual')

    $('#editVehicle').find(':radio[name=drive][value="1"]').prop('checked', true);

  else

    $('#editVehicle').find(':radio[name=drive][value="2"]').prop('checked', true);



});


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

<div id="editVehicle">

  <div class="form-group">

    <label for="">Transmission :</label>

    <div class="col-sm-8">

      <label class="radio-inline">

        <input type="radio" name="drive" id="" value="1">Manual

      </label>

      <label class="radio-inline">

        <input type="radio" name="drive" id="" value="2">Auto

      </label>

    </div>

  </div>

</div>

编辑:

更改。

if (response.drive == 'Manual'){
                                .find(':radio[name=drive][value="1"]').prop('checked', true)
                            } else {
                                .find(':radio[name=drive][value="2"]').prop('checked', true)
                            }

if (response.drive == 'Manual'){
                                $('#editVehicle').find(':radio[name=drive][value="1"]').prop('checked', true)
                            } else
                                $('#editVehicle').find(':radio[name=drive][value="2"]').prop('checked', true)
                            }
$('.editVehicle').on('click', function() {
            // Get the record's ID via attribute
            var id = $(this).attr('data-id');
            var vehicleId = 'vehicleId=' + id;

            $.ajax({
                    url: './includes/ajaxprocess_edit_vehicles.php',
                    method: 'post',
                    data: vehicleId
            }).success(function(response) {
                    // Populate the form fields with the data returned from server
                    response = jQuery.parseJSON(response)
                    $('#editVehicle')

                            .find('[name="vehicle_id"]').val(response.vehicle_id).end()
                            .find('[name="vehicle_name"]').val(response.vehicle).end()
                            .find('[name="seats"]').val(response.seats).end()
                            .find('[name="luggage"]').val(response.luggage).end()
                            .find('[name="doors"]').val(response.doors).end()
                            .find('[name="emission"]').val(response.emission).end();

                            if (response.drive == 'Manual'){
                                $('#editVehicle').find(':radio[name=drive][value="1"]').prop('checked', true)
                            } else {
                                $('#editVehicle').find(':radio[name=drive][value="2"]').prop('checked', true)
                            }



    $('#editVehicle').find('[name="rental"]').val(response.price).end();

                        // Show the dialog
                        bootbox
                                .dialog({
                                        title: 'Edit This Vehicle',
                                        message: $('#editVehicle'),
                                        show: false // We will show it manually later
                                })
                                .on('shown.bs.modal', function() {
                                        $('#editVehicle')
                                                .show()                       // Show the edit form
                                                .formValidation('resetForm'); // Reset form
                                })
                                .on('hide.bs.modal', function(e) {
                                        // Bootbox will remove the modal (including the body which contains the edit form)
                                        // after hiding the modal
                                        // Therefor, we need to backup the form
                                        $('#editVehicle').hide().appendTo('body');
                                })
                                .modal('show');
                });
        });


 类似资料:
  • 问题内容: 我有一个模型在storeLocations对象中返回isDefault值。如果isDefault返回true,则我不会将该组中的单选按钮设置为选中状态。 不知道我是否需要执行$ each(data,function(index,value)并遍历返回的每个对象,或者是否有更简单的方法使用角度构造来执行此操作。 目的: 标记: 问题答案: 使用代替。 由于代码重复,版本较差。

  • 我是网络编程的新手,我真的需要你的帮助。我有一个带有几个单选按钮的表单,我想通过一个ajax帖子将它们插入mysql。我可以为一个按钮,但为多个,我不知道如何做。 这是我的html和jQuery的一部分: 下面是我在MySQL中插入按钮的方法: 我尝试为每个按钮创建一个var,但没有成功。我如何在php中发布所有的值,我应该在我的ajax和php中改变什么?谢谢! 这就是我执行.php的方法

  • 问题内容: 我想为单选按钮的选定标签添加样式: HTML: CSS 有什么想法我做错了吗? 问题答案: .radio-toolbar input[type=”radio”] { 首先,您可能想在单选按钮上添加属性。否则,它们不属于同一组,可以检查多个单选按钮。 另外,由于我将标签放置为(单选按钮的)同级标签,因此必须使用和属性将它们关联在一起。

  • 1.设置单选按钮 单选按钮在表单中即<input type="radio" />它是一组供用户选择的对象,但每次只能选一个。每一个都有checked属性,当一项选择为ture时,其它的都变为false. 先贴沙漠化一个例子: <script type="text/javascript"> function getChoice() { var oForm =

  • 问题内容: 我需要建立一个系统,以按选择的票数更改总价。我创建了一些单选按钮来选择票证编号。问题是未设置默认值,并且加载时结果为null。 请参阅我的jsfiddle。 问题答案: 设置默认值与ngInit 演示:小提琴

  • 因此,我创建了一个自定义主题,并将其作为AlertDialog.Builder构造函数的参数提供。 下面是显示对话框的代码: 风格如下: 我能够找到我在样式中添加的几个属性,根据它们的状态更改单选按钮/文本的颜色。但是我无法自定义文本外观(我想更改大小、提供填充等)。 我确信有一些属性可以用来设置文本的样式,但我找不到它。有人能帮我吗?谢谢