jQuery Mobile:两个/三列垂直控制组的单选按钮

时间:2016-02-29 18:30:11

标签: php jquery css jquery-mobile

我最近一直在使用jQuery Mobile,并开始遇到各种限制;我可以使用某种jQuery / Javascript / CSS操作来解决大部分问题。我们使用了很多iPad,它允许比典型手机更宽的iPad。我们页面上的一些输入组在两列格式中往往看起来更好;如果可能的话。

一个例子是一长串单选按钮。它只在一列中看起来很糟糕。我们希望以2或3个列显示单选按钮列表,而不是使用单个“垂直”“控制组”获得的典型1列格式。请参阅此演示页面上的垂直控制组:

http://demos.jquerymobile.com/1.4.5/checkboxradio-radio/#Verticalgroup

使用复选框,我通过创建两个或三个不同的控制组然后将它们放入3列网格来完成此操作。这适用于复选框,但我不知道如何使用单选按钮。有什么想法吗?

我假设我可以创建三个不同的无线电输入垂直控制组(并排),然后操纵CSS,看起来有一个组。我必须为实际选择的收音机管理一个隐藏的输入。

1 个答案:

答案 0 :(得分:0)

我决定为营销来源创建两个专栏;右边和左边。名称是" marketing_source_left"和" marketing_source_right"。我填充了两个无线电垂直控制组,然后使用jQuery来更改两者以获得" name" just" marketing_source"。

的财产
// Define current marketing_source value and remove hidden field
var marketing_source = $('#marketing_form #marketing_source').val(); // hidden field
$('#marketing_form #marketing_source').val(marketing_source).remove();

// Change all marketing source radios (left and right sides)
// to have property name="marketing_source"
$("#marketing_form input:radio[name='marketing_source_left']").prop('name', 'marketing_source').prop('checked', false);
$("#marketing_form input:radio[name='marketing_source_right']").prop('name', 'marketing_source').prop('checked', false);

// Set the radio to checked for the marketing source value
$('#marketing_form input[type="radio"]:checked').prop('checked', false); // Uncheck current
$('#marketing_form input:radio[name="marketing_source"]').filter('[value="'+marketing_source+'"]').prop('checked', true);
$('#marketing_form input:radio[name="marketing_source"]').checkboxradio('refresh');

使用的CSS类似于此。

#marketing_right_div, #marketing_left_div {
    display: inline-block !important;
    width: 314px !important;
    text-align: top;
    vertical-align: top;
}