2014-01-09 48 views
1

我的選擇框獲取HTML從​​和選擇框將它插入選定值

<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

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

在這裏,我想從文本並設置文本選擇值在我的選擇框中。我能夠從中獲取文本,但無法將其插入到選擇框中。

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

上面的代碼不起作用。有任何想法嗎???由於

+0

你怎麼選擇像1,2,3等 –

+1

價值你是如何能得到選中的文本? 你的餐桌是否有ID或Class? 請發佈您的完整代碼或小提琴 – timo

+0

Infact我的問題是,只有,如果我放置.val(「3」)選項選擇爲默認,但如何使用文本?感謝您注意 – vamsi

回答

0

嘗試:

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

所選的選項應該用'prop()'而不是'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