在Javascript / Jquery

时间:2016-10-09 16:39:32

标签: javascript jquery simple-form cocoon-gem

我使用cocoon gem为工作时间添加动态嵌套表单。

Cocoon返回open_time和close_time输入。

id = merchant_working_hours_attributes_ID_open_time
id = merchant_working_hours_attributes_ID_close_time

在css上,close_time输入被定义为display:none,如果open_time输入被标记为nil,我的想法就是显示。

但为此,我需要从open_time输入中提取ID,并根据该ID为close_time输入添加css样式。

如何用javascript / Jquery实现呢?还有其他形式吗?

2 个答案:

答案 0 :(得分:1)

你的问题是你有一个字符串,你想提取相应元素的ID来执行风格。

使用split()

var string = merchant_working_hours_attributes_ID_open_time;

var parts = string.split("_"); //You will have the ID at 4th parts[4]

根据提取的ID,您可以使用show()hide()

实施例

if($('#opentimeID').val() != '')
{
  $('#opentimeID').show();
}

使用substring()

string.substring(start,end)

答案 1 :(得分:0)

这应该相对简单。我的假设是,默认情况下,“关闭时间”字段未显示。但是,当您开始将值放入“开放时间”字段时,会显示“关闭时间”字段。

如果是这种情况,这应该适合你。

<强>的JavaScript

const openTime = document.getElementById('merchant_working_hours_attributes_ID_open_time')
const closeTime = document.getElementById('merchant_working_hours_attributes_ID_close_time')
if (openTime.value.length > 0) {
  closeTime.style.display = 'block'
}