时间:2011-01-06 19:07:23

标签: jquery

12 个答案:

答案 0 :(得分:313)

答案 1 :(得分:129)

有一种更好的检查无线电和复选框的方法;你必须将值数组传递给val方法而不是原始值

注意:如果您只是单独传递值(不在数组),那么将导致" mygroup"的所有值被设定为价值。

$("input[name=mygroup]").val([5]);

以下是解释其工作原理的jQuery文档:http://api.jquery.com/val/#val-value

.val([...])也适用于<input type="checkbox">内的<input type="radio"><option><select>等表单元素。

  

将检查或选择具有与数组的某个元素匹配的值的输入和选项,而具有不匹配其中一个元素的值的选项该数组将被取消选中或取消选中

小提示演示此工作:https://jsfiddle.net/92nekvp3/

答案 2 :(得分:14)

答案 3 :(得分:8)

答案 4 :(得分:7)

如上所述更改属性值时,change事件未被触发,因此如果出于某些原因需要,您可以触发它

$('input[name=video_radio][value="' + r.data.video_radio + '"]')
       .prop('checked', true)
       .trigger('change');

答案 5 :(得分:3)

$("input[name='RadioTest'][value='2']").prop('checked', true);

JS fiddle Demo

答案 6 :(得分:1)

或者您可以只为其写入value属性:

$(':radio[value=<yourvalue>]').attr('checked',true);

这适合我。

答案 7 :(得分:0)

var key = "Name_radio";
var val = "value_radio";
var rdo = $('*[name="' + key + '"]');
if (rdo.attr('type') == "radio") {
 $.each(rdo, function (keyT, valT){
   if ((valT.value == $.trim(val)) && ($.trim(val) != '') && ($.trim(val) != null))

   {
     $('*[name="' + key + '"][value="' + (val) + '"]').prop('checked', true);
   }
  })
}

答案 8 :(得分:0)

纯Java版本:

document.querySelector('input[name="myradio"][value="5"]').checked = true;

答案 9 :(得分:0)

我在使用时出错

var cars = DbContext.Current.Cars
                        .Include(c => c.Engine)
                        .Include(c => c.Tires)
                        .Where(c => !c.Deleted)
                        .ToList();

var carsAndTires = cars.Select(c => new { Car = c, TireIds = c.Tires.Select(t => t.Id)}).ToList();

工作方式是

$("input[name=mygroup][value="value"]").prop('checked', true);

问题在于处理引号(')和双引号(")。

答案 10 :(得分:-1)

MyCell

以下是解释其工作原理的jQuery文档:http://api.jquery.com/val/#val-value

答案 11 :(得分:-1)

$('input[name="mygroup"]').val([5])