3
<select name="vehicle_make" onchange="test1(this.value)" style="width: 130px; float:left;" id="vehicle_make" class="home_input">
    <option value="">Choose Make</option>
    <option value="2063">Acura</option>
    <option value="2064">Honda</option>
</select>

私はドロップダウンを持っています。リンクの href 属性を読み取り、ドロップダウンの値として割り当てました。しかし、リンクから番号のみを取得し、それを値としてドロップダウンに割り当てたいのですが、どうすればよいですか。

<select name="vehicle_make" onchange="test1(this.value)" style="width: 130px; float:left;" id="vehicle_make" class="home_input">
    <option value="">Choose Make</option>
    <option value="http://store.teknotik.com/category-s/2063.htm">Acura</option>
    <option value="http://store.teknotik.com/category-s/2064.htm">Honda</option>
</select>

次のjqueryを使用して、リンクを値として取得しました

$("#data a").each(function(index) {
        if ($(this).attr("class") == "subcategory_link") {


            //document.getElementsById("year").innerHTML="<option value="+$(this).attr("href")+">test</option>";
            lnk[cnt] = $(this).attr("href");
            cnt = cnt + 1;
            //alert($(this).attr("href"));

        }
    });

しかし、私はドロップダウン値を次のようにしたい:

<select name="vehicle_make" onchange="test1(this.value)" style="width: 130px; float:left;" id="vehicle_make" class="home_input">
    <option value="">Choose Make</option>
    <option value="2063">Acura</option>
    <option value="2064">Honda</option>
</select>

上記のdropdownho sendの.htmの前の数字だけを値として送りたいです。お知らせ下さい。

4

5 に答える 5

3

簡単な方法:

$('#vehicle_make option[value!=""]').each(function() {
    this.value = this.value.replace(/\D/g, "");
});​

ライブデモ


\d // Numerical char
\D // Not numerical char <===
g  // Is a flag which means find all the occurrences, and not only the first.

優れた正規表現チート シート。

だから私はすべての非数値文字(を含む\D)を探しており、それらを空の文字列に「置き換え」ています。

于 2012-04-25T07:48:59.983 に答える
0

.replace('', '')関数を試す

.replace('http://store.teknotik.com/category-s/','').replace('.htm','')

数値だけを残す必要があります

于 2012-04-25T07:44:15.007 に答える
0

ここには2つの部分があるようです...必要な数だけを取得します:

lnk[cnt] = $(this).attr('href').substring($(this).attr('href').lastIndexOf('/')+1);
lnk[cnt]=lnk[cnt].replace('.htm','');

(最もエレガントなソリューションではありませんが、うまくいくはずです)

次に、値を設定します。

$("#vehicle_make").val(lnk[cnt])
于 2012-04-25T07:45:09.937 に答える
0

以下のように見つけることができます。

var url = $(this).attr("href");
var urlTemp1 = url.split("/");
var urlTemp2 = (urlTemp1[urlTemp1.length -1]).split(".");
var yourNumber = urlTemp2[0];
alert(yourNumber);
于 2012-04-25T07:45:11.023 に答える
0

試す:


$(document).ready(function() {
  $("select[name='vehicle_make'] option[value!='']").each(function() {
     this.value = this.value.split("/").pop().split(".")[0];
  });
});

それが役に立てば幸い

于 2012-04-25T07:51:48.887 に答える