我使用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实现呢?还有其他形式吗?
答案 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();
}
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'
}