2014-01-09 1 views
1

My Select BoxПолучить HTML от <td> и вставьте его в поле Выбор в качестве выбранного значения

<select id="ProductCode" name="ProductCode"> 
    <option value="1">Product Description 1 - Box</option> 
    <option value="2">Product Description 2 - Carton</option> 
    <option value="3">Product Description 3 - Bottle</option> 
    <option value="4">Product Description 4 - Cylinder</option> 
</select> 

Мой тд

<td>Product Description 3 - Bottle</td> 

Здесь я пытаюсь получить текст из и установить текст выбран значение в моем поле выбора. Я могу получить текст, но не могу его вставить в поле выбора.

$("#ProductCode").val(<td> text here); 

Выше код не работает. Есть идеи??? Благодаря

+0

как вы получите значение параметра, как 1,2,3 и т.д. –

+1

Как вы были в состоянии получить выделенный текст? В вашей таблице есть идентификатор или класс? Пожалуйста, напишите свой полный код или скрипку – timo

+0

Infact мой вопрос в том, что только если я помещаю .val ("3"), то опция выбирает по умолчанию, но как это сделать, используя только текст? Спасибо, что заметили – vamsi

ответ

0

Try:

var text = $("td").text(); 
$("#ProductCode").find("option").each(function(){ 
    if($(this).text() == text){ 
     $(this).prop("selected",true); 
    } 
}); 
+0

. Выбранный параметр должен быть установлен с помощью 'prop()' not 'attr()'. – Jamiec

+0

'$ (this) .prop (" selected ", true);' not '$ (this) .attr (" selected "," selected ");' – George

+0

Это работает для меня, спасибо. – vamsi

0

попробовать что-то вроде этого

var text= 'Product Description 3 - Bottle'; 
    $('#ProductCode option:contains(' + text + ')').each(function(){ 
     if ($(this).text() == text) { 
      this.selected = true; 
      return false; 
     } 
     return true; 
    }); 
1

Другой способ:

$('#ProductCode option').filter(function(){ 
    return $(this).html() == text; 
}).prop('selected',true); 

Живой пример: http://jsfiddle.net/g73rL/

+0

+1. Возможно также использовать 'this.innerHTML' для сохранения с помощью метода (: – George

0

Вы можете легко выбрать раскрывающийся вариант по опции текста:

$("#ProductCode option:contains("+ yourTD_Text +")").attr('selected', 'selected'); 

Попробуйте это:

HTML:

<table> 
    <tr><td>Product Description 1 - Box</td> 
    <td>Product Description 2 - Carton</td> 
    <td>Product Description 3 - Bottle</td> 
    <td>Product Description 4 - Cylinder</td></tr> 
</table> 


<input id="txtinput" type="text" value="3">  
<input id="btnselect" type="button" value="click here"> 
    <br/> 
<select id="ProductCode" name="ProductCode"> 
    <option value="1">Product Description 1 - Box</option> 
    <option value="2">Product Description 2 - Carton</option> 
    <option value="3">Product Description 3 - Bottle</option> 
    <option value="4">Product Description 4 - Cylinder</option> 
</select> 

Jquery:

$(document).ready(function() { 
$('#btnselect').click(function() { 
    var rowNo = $('#txtinput').val().trim(); 
    var selectOption = $('table tr td:nth-child(' + rowNo + ')').text().trim();  
    $("#ProductCode option:contains("+ selectOption +")").attr('selected', 'selected'); 
}); 
}); 

Check this fiddle

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