2013-11-20 2 views
0

Я новичок в JavaScript/Jquery и имеют следующий вопрос:Как вы изменяете метку флажков в динамически сгенерированной таблице?

Я пытаюсь изменить метку флажков в динамически сгенерированной таблицы:

<td> 
<input type="checkbox"> <b>$18,000.00</b> ($18000+) Diamond Sponsor<br> 
<input type="checkbox"> <b>$10,000.00</b> ($10000+) Ruby Sponsor<br> 
<input type="checkbox"> <b>$5000.00</b> ($5000+) Emerald Sponsor<br> 
<input type="checkbox"> <b>$3600.00</b> ($3600+) Gold Sponsor<br> 
<input type="checkbox"> <b>$1800.00</b> ($1800+) Silver Sponsor<br> 
<input type="checkbox"> <b>$1000.00</b> ($1000+) Bronze Sponsor<br> 
<input type="checkbox"> <b>$500.00</b> ($500+) Pillar<br> 
<input type="checkbox"> <b>$250.00</b> ($250+) Patron<br> 
<input type="checkbox"> <b>$180.00</b> ($180+) Supporter<br> 
<input type="checkbox"> <b>$100.00</b> ($100+) Friend<br> 
<input type="checkbox"> <b>$50.00</b> ($50+) Donor<br> 
<input type="checkbox"> <b>$25.00</b> ($25+) Donor<br> 
</td> 

Мне нужно, чтобы скрыть часть этикетки текст для каждого из входов при его отображении. В частности, числа, окруженные скобками.

В настоящее время это, как это выглядит:

$ 18,000.00 ($ 18000 +) Алмазный Спонсор
$ 10,000.00 ($ 10000 +) Рубиновый спонсор
$ 5000,00 ($ 5000 +) Emerald Спонсор
$ 3600,00 ($ 3600 +) Золотой спонсор
$ 1800.00 ($ 1800 +) Серебряный спонсор
$ 1000,00 ($ 1000 +) Бронзовый спонсор
$ 500.00 ($ 500 +) Столб
$ 250,00 ($ 250 +) Патрон
$ 180,00 ($ 180 +) Сторонник
$ 100.00 ($ 100) Друг
$ 50,00 ($ 50 +) Донор
$ 25,00 ($ 25 +) Донор

Как удалить номера, включая скобки, с метки ввода, но оставить остальную часть метки неповрежденной.

Любая помощь очень ценится

+2

Вы не можете просто обернуть этот текст в пролете с классом и скрыть его? – j08691

+0

А. Вольф прав разметки не очень хорошо. – sabotero

+1

Заголовок вашего вопроса, похоже, не соответствует вашему тексту вопроса: вам нужно удалить в скобках цифры для * всех * флажков (это то, что подразумевается в тексте вашего вопроса) или только для флажков * checked * (например, ваш заголовок говорит)? (Если первый, разве вы не можете просто не выписывать в скобки?) – Martha

ответ

2

Использование:

JQuery:

$('td').html(function (_, html) { 
    return html.replace(/(\(.*\))/ig, '<span class="hide">$1</span>'); 
}); 

CSS:

.hide { 
    display:none; 
} 

jsFiddle example

+0

Пример, приведенный в примере JsFiddle, является результатом, который я ищу, но после применения скрипта тег применяется ко всему, что существует между «$ 18,000.00» и «Donor», а не каждым экземпляром числа с круглыми скобками. Выходной результат - одна строка, которая выглядит следующим образом: $ 18,000.00 Донор Спасибо, что нашли время, чтобы помочь, я ценю это. –

+0

Нет, в скрипке он применяется правильно. Если на вашей странице не применяется должным образом, то что-то еще вмешивается. Пример: '$ 500.00 ($ 500+) Столбец
' – j08691

+0

Я работаю в CMS, который является SAS, поэтому может быть что-то в так что код создается до запуска скрипта, который вызывает проблему. Надеюсь, я смогу это понять. Еще раз спасибо! –

0
<input type="checkbox"> <span><b>$18,000.00</b> ($18000+)</span> Diamond Sponsor<br> 

$('input:checkbox').on('change',function(){ 

    $(this).closest('span').toggle(); 
}); 
+1

Где ОП указывает, что он хочет переключить текст? Вы также позволили себе обернуть текст в промежутках, которые OP не опубликовал в своем вопросе. – j08691

+1

Кроме того, вы использовали .closest(), он будет искать родительские промежутки вправо.? –

+0

@Tyagi Извините за недопонимание между заголовком и фактическим описанием. Спасибо за предложение. –

Смежные вопросы