2016-10-09 46 views
0

我正在使用cocoon gem爲工作時間添加動態嵌套表單。在JavaScript中提取字符串部分/ jquery

Cocoon返回一個open_time和close_time輸入。

id = merchant_working_hours_attributes_ID_open_time 
id = merchant_working_hours_attributes_ID_close_time 

在CSS中CLOSE_TIME輸入被定義爲顯示:沒有,如果OPEN_TIME輸入標記爲不爲零我的想法是隻顯示。

但爲此,我需要從open_time輸入中提取ID,並根據該ID向close_time輸入添加css樣式。

如何才能實現與JavaScript/JQuery的?任何其他形式來實現?

回答

1

你的問題說你有一個字符串,你想提取相應元素的ID來執行樣式。

使用基於提取的ID split()

var string = merchant_working_hours_attributes_ID_open_time; 

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

,您可以使用show()hide()

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

使用substring()

string.substring(start,end) 
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' 
}